ASP.NET - Privilegios de usuario

 
Vista:

Privilegios de usuario

Publicado por Eleazar (19 intervenciones) el 27/11/2005 13:14:53
hola amigos!

estoy aprendiendo a hacer pags web con el visual .NET (web form con c# en code-behind) y tengo el problema de cómo administrar los privilegios de usuario o perfiles.

o sea que el administrador tenga acceso a ciertas pagina que el usuario no y que cada vez que intente ir a una pagina en la que no tenga los privilegios necesarios sea derivada a una de error.

he revisado algunas sitios, pero igual tengo algunas dudas.

segun tengo entendido, los perfiles habría que configurarlo en el Web.Config del sitio, lo que creo es que debería ser algo así:

<authentication mode="Forms" >
<forms loginUrl="login.aspx"/> //los deria a esta pag si no esta logeado

</authentication>
<authorization>
<allow users="*" />
<allow users="administ","webmaster"
roles="admin"/>
<deny users="usuario","cliente"
roles="user">

</authorization>

<location path="perfil.aspx"> //pag protegida contra no logeados y usuarios de perfil user
<system.web>
<authorization>
<deny users="?" roles="user"/>
</authorization>
</system.web>
</location>

donde administ, webmaster, usuario, cliente son los nombres de usuarios registrados y admin y user son los perfiles de usuario.

mi duda es saber si estoy en el camino correcto, si el perfil lo debo definir en una variable de sesión ( Session["roles"]=admin ) o si no, como deberia hacerse correctamente

espero que me puedan ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Privilegios de usuario

Publicado por Camil Bernal (14 intervenciones) el 22/03/2006 17:20:23
Hola, para manejar los roles especificos de un usuario, puedes utilizar el elemento: Context.User

Con el puedes validar si un usuario pertenece a un(os) Roll(es) mediante el metodo

context.User.IsInRole(Roll); te devolvera un bool indicando si el usuario pertenece al roll.

Para poder utilizar Esto debes configurar correctamente el objeto IPrincipal o GenericPrincipal (Dependiendo de lo que necesites).

De todas maneras te dejo unos links que te pueden ayudar a documentar todo el proceso de autenticacion:

http://www.microsoft.com/Spanish/msdn/arquitectura/BuildSecNetApps/html/SecurityGuide-LandingPage.asp
http://support.microsoft.com/kb/308157/
http://www.microsoft.com/Spanish/msdn/arquitectura/BuildSecNetApps/html/04_HowTo.asp

Espero te sirvan.... :)

Camilo Bernal
Colombia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar