sábado, 26 de julio de 2014
Seguridad con MVC 5 (Identity)
Guia Rapida de Membership en MVC4.En MVC 4 es muy fácil utilizar esta herramienta, siga los siguientes pasos para ver un ejemplo practico.
1.) Cree un nuevo proyecto,
File --> New proyect
Archivo - Nuevo Proyecto
2.)Luego seleccione la plantilla "MVC"
3.) Abra su archivo web config y configure correctamente la información de su connection String para "DefaultConnection"
El web config debe quedar de la siguiente manera, recuerde que debe configurar acorde a su equipo.
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=localhost; Initial Catalog=northwind;user id=sa;password=P@ssw0rd" providerName="System.Data.SqlClient" /> </connectionStrings>
Vamos a ver una imagen de la base de datos antes de crear nuestro primer usuario.
4.) Ahora vamos a crear nuestro primer usuario, para esto debemos ejecutar nuestro proyecto.
Precione F5 para ejecutar el proyecto
Si todo esta correcto debería haber creado las tablas:
AspNetUsers -- Catalogo de usuarios
AspNetRoles -Catalogo de Roles
AspNetUserRoles -- Catalogo Usuarios por roles
AspNetUserClaims - Almacena información acerca de los inicios de sesión de terceros, almacenará el nombre del proveedor (digamos Facebook, Google, Live) la identificación del proveedor y la identificación de usuario. El ID de usuario es normalmente un símbolo para identificar a cada usuario.
5.) Agregando Roles, Para agregar roles en muy facil solo hacemos un insert en la tabla webpages_Roles.
INSERT INTO [dbo].[AspNetRoles]
(id,Name)
VALUES
(1,'administradores')
6.) Ahora vamos agregar usuario "administrador" a nuestro rol "Administradores", Pero primero debemos saber que id tiene nuestro usuario, para esto ejecutamos:
Ahora ejecutamos:
Ya que el id es muy largo utilizaremos el query para hacer mas fácil el insert.
declare @id nvarchar(128)
select @id=id
from AspNetUsers
where UserName='adminitrator'
INSERT INTO AspNetUserRoles
([UserId]
,[RoleId])
VALUES
(@id
,1)
5.) En MVC la seguridad se agrega en los controles, por cada acción, vamos hacer un ejemplo, en la carpeta controller habrá HomeController y pruebe con las siguientes posibilidades.
[Authorize] public ActionResult About() { return View(); } [Authorize(Roles = "administradores")] public ActionResult About() { return View(); } [Authorize(Users="user1")] public ActionResult About() { return View(); }
Authorize: Permitira todos los usuarios ya autenticados.
Authorize Roles: Solo los roles autorizados en este ejemplo: Administradores
Authorize Users: Solo los usuarios autorizados en este ejemplo: User1
Nota:
Si quieren verificar un role desde Razor.
if (User.IsInRole("rolename")) {
// my action
}
Suscribirse a:
Comentarios de la entrada (Atom)
7 comentarios:
Muchas gracias por esto, me sirvió muhisimo
Excelente..! Muchas gracias..!
buenisimo!!!
Muchas gracias!! :D excelente
Muy buen artículo, muy útil, muy bien explicado.
Felicidades!
Gracias!! directo y muy fácil de comprender, me ayudo muchísimo
Publicar un comentario