Está en la página 1de 8

Manejo de Roles en ASP.

NET
Publicado: marzo 25, 2009 en Categoria All 13 Buenas a todos espero se encuentren bien. e !an escrito nue"amente desde costa rica, # un articulo $ue les gustar%a este dentro de este blog es mane&ar los roles en A'P.()*. A continuaci+n les muestro unos e&emplos sencillos de como !acerlo. 1.- Asignar usuario a ROL.
deaosrl

,entro de el puedes !acerlo de la siguiente manera : -oles.Add.ser*o-ole/t!is.t0tusuario.te0t, 1Administrador123 Para !acerlo mas completo posible, se "eri4ica si el .'.A-56 no e0iste en el rol. A'5:

ueosrl

i4 /7-oles.5s.ser5n-ole/t!is.t0tusuario.te0t22 8 -oles.Add.ser*o-ole/t!is.t0tusuario.te0t, 1Administrador123 -esponse.9rite/1.suario asignado al rol123 : else 8 -esponse.9rite/1)ste usuario #a se encuentra agregado a el rol especi4icado123 :

Hecho en VB.NET 54 (ot -oles.5s.ser5n-ole/t0tusuario.te0t,2 *!en -oles.Add.ser*o-ole/t0tusuario.te0t, 1Administrador12 -esponse.9rite/1.suario asignado al rol12 )lse -esponse.9rite/1)ste usuario #a se encuentra agregado a el rol especi4icado12 )nd 54 .- !rear Roles.

,entro de el puedes !acerlo de la siguiente manera : ;eri4icas si el rol no e0iste, de ser cierto, entonces lo crea.

i4 /7-oles.-ole)0ists/1Administrador122 8 -oles.Create-ole/1'uper"isor123 : else 8 -esponse.9rite/1)l rol #a e0iste123 : Hecho en VB.NET

54 (ot -oles.-ole)0ists/t0troles.*e0t2 *!en -oles.Create-ole/t0troles.*e0t2 )lse -esponse.9rite/1)l rol #a e0iste12 )nd 54 ".- O#$ener $odos los Roles e%is$en$es. 'i deseas obtener una lista de todos los roles e0istentes en la base de taos puedes !acerlo de la siguiente manera: <e tomado para este e&emplo un =rid;ie> para mostrar la in4ormaci+n.

string?@ arra#roles A -oles.=etAll-oles/23 t!is.=;-ol.,ata'ource A arra#roles3 t!is.=;-ol.,ataBind/23 &.- Re'o(er )suario desde Rol Seleccionado

Para remo"er el usuario desde un rol seleccionado se !ace de la siguiente manera: -oles.-emo"e.serBrom-ole/t!is.t0tusuario.te0t, 1Administrador123 'i cargas los roles en un control, por e&emplo un CistBo0, puedes !acerlo as%: -oles.-emo"e.serBrom-ole/t!is.t0tusuario.te0t, -olesCistBo0.'elected5tem.;alue23 No$a* e0isten mas roles e0istentes, este articulo denota algunos. (o ol"iden de&ar su comentario, a#udan a crecer.

)spero seas de gran a#uda esta in4ormacion, !asta la pr+0ima. 'aludosD About t!ese ads di".>padi" 8 marginEtop: 1em3 : FgoogleGadsGdi"G>pcomGbelo>GpostGadsa4eGadGcontainer 8 displa#: blocH 7 important3 :

Me gus$a*
e gusta Cargando... Related Comentarios cesar dice: marzo 30, 2009 en I:1J pm <ola mu# buena e0pliacacion pero como le !ago para "eri4icar si el usuario pertence a un determinado rol para saber $ue es lo $eu pueda realizar dependiendo si es administrador o usuario gracias -esponder (elson =omez dice: marzo 30, 2009 en I:3I pm <ola cesar espero estes bien. Bueno puedes !acer lo siguiente: para K'AB)- '5 )C .'.A-56 )L5'*) )( .( ,)*)- 5(A,6 -6CM !a# un metodo $ue se llama 5s.ser5n-ole el cual recibe 2 parametros. Kstring usernameM, string rol(ameM con eso tu puedes "eri4icar si el usuario e0iste en un determinado rol. i4 /-oles.5s.ser5n-ole/t!is.t0tusuario, K*u -olM22 8 DD Colocas *u logica DD : No$a* A"isame si solucionastes. 'aludos espero sea de gran a#uda mi respuesta. (elson =omezD -esponder ericH dice: ma#o N, 2009 en 5:03 pm

=racias, un gran aporte. -esponder Anamar%a dice: &ulio 10, 2009 en 1:30 pm !olaD llegue aca por unas dudas $ue tengo con respecto de los roles. 1.E 'O $ue los roles los puedes crear con la !erramienta $ue te da el mismo asp.net/9eb 'ite Administration *ool2 2.E 'O $ue los usuarios tambien los puedes crear en esta !erramienta # asociarlos a los roles. 3.E 'O $ue !a# $ue agregar en el >eb.con4ig los permisos respecti"osD Pero. Po tengo una tabla donde estan los users con su rol respecti"o. i motor es Postgres$l N.2 i aplicacion estQ "alidando el usuario # a!ora $uiero implementar los roles. Asi esta !asta el minuto /"alidando solo el usuario2: protected "oid PageGCoad/ob&ect sender, )"entArgs e2 8 : protected "oid Cogin1GAut!enticate/ob&ect sender, Aut!enticate)"entArgs e2 8 i4 /;alidate.ser/Cogin1..ser(ame, Cogin1.Pass>ord22 8 BormsAut!entication.-edirectBromCoginPage/Cogin1..ser(ame, Cogin1.-emember e'et23 : : pri"ate bool ;alidate.ser/string user(ame, string pass9ord2 8 string looHupPass>ord A null3 string s$l A null3 string 'trconn A Con4iguration anager.Connection'trings?1'trCone0ion1@.Connection'tring3 (pgs$lConnection pgConn A ne> (pgs$lConnection/'trconn23 s$l A Kselect usGpass 4rom userGsistema >!ere idGuser A RM S user(ame S KRM3 (pgs$lCommand pgC , A ne> (pgs$lCommand/s$l, pgConn23 pgConn.6pen/23 TTrecuperamos la pass>ord de la base looHupPass>ord A /string2pgC ,.)0ecute'calar/23 pgConn.Close/23 pgConn.,ispose/23

TTsi no !a# resultados, se de"uel"e 4also i4 /null AA looHupPass>ord2 8 return 4alse3 : TTse compara la pass>ord de la base con la digitada, usando case sensiti"e return /0 AA string.Compare/looHupPass>ord.*rim/2, pass9ord.*rim/2, 4alse223 : )ntoncesD. debo obtener el rol desde la B,U o V,ebo obtener el rol desde la aplicacionU/cuando agregamos los roles por el 9eb 'ite Administration *ool2 V,onde se guardan estos ultimos rolesU Vme a4ectan a otras >ebsites $ue tengo corriendo en el mismo ser"erU segun mi ar$uitectura Vcomo implementarias los roles en la aplicacionU uuuuuuc!as =raaaacias por tu tiempo 77 -esponder )dgar dice: agosto 1I, 2009 en I:39 pm )0celente aporteD.. corta e0plicaci+n # e4ecti"o -esponder ta"o dice: septiembre 29, 2009 en 5:3I am me sir"io el tutorial, gracias. ,e $ue 4orma puedo resol"er $ue cuando un usuario !aga un logout, al dar al boton regresar no "uel"a a entrar al area restringida, #a $ cuando "uel"e al area restringida # se re4resca la pagina entonces si manda a login, como podre resol"er esto. ,e antemano gracias -esponder maria dice: abril 13, 2010 en 5:19 pm !olaD.. Como puedo poner el rol Administrador pero conectodo a la base de datosD...rgeD.=racias -esponder (elson =omez dice: abril 13, 2010 en W:5N pm

<ola espero estes bien. bueno si estas traba&ando con la api members!ip de asp.net # por lo $ue logro entender, tu lo $ue $uieres es almacenar el rol administrador en la db. ,e ser asi, por 4a"or corrigeme lo !aces de la siguiente manera: -oles.Create-ole/KAdministradorM23 P automaticamente el se almacena. saludosD -esponder Carlos aureira dice:

ma#o 11, 2010 en 5:32 am <ola mu# buena in4ormaci+n, pero me gustar%a $ue me a#udaran con lo siguiente: Al crear un -ol deseo asignarle los permisos sobre una carpeta especi4ica. =racias de antemano -esponder (elson =omez dice: ma#o 12, 2010 en 1:3J pm <ola mu# buen dia. puedes !acer lo siguiente, en tu 4older $ue deseas tener permisos, agrega un arc!i"o >eb.con4ig en donde le colocas lo siguiente: ,entro del tab Aut!oritation colocas allo> roles AMAdminM # den# usersAMXM (ota: Admin es un rol de e&emplo. A!i le estas diciendo $ue permita a usuarios con rol admin # $ue deniegue a todos los usuarios siempre # cuando no posean el rol admin. )spero !aberte a#udado. -esponder mariano dice: septiembre 5, 2010 en I:22 pm <ola, me gustaria saber como !acer para asignar un -ol a un usuario $ue se esta creando, los roles #a estan creados, # al -egistrar un usuario, me gustaria agregar un control al Create.ser9izard # seleccionar el -ol # $ue se le asigne al usuario $ue se esta creando. uc!as =racias

-esponder (elson =omez dice: octubre 12, 2010 en 5:1N pm Buenas tardes Cesar espero estes bien. Pido mil disculpas por todo, # por no responderte a tiempo. en mi blog !a# un post $ue e0plica la asignacion de roles a usuarios. !ttp:TTnelsongomez.>ordpress.comT2009T03T25Tmane&oEdeErolesEenE aspnetT 'e !ace mu# 4acil. ,e todos modos, como no !e respondido # no tengo e0cusas, entonces $ue te parece si me agregas al msn # te puedo !asta apo#ar "ia remota. -esponder Agustin =utierrez dice: enero 19, 2011 en 12:35 pm <ola tengo una consulta: Po tengo una tabla de personas creada por mi, donde cada persona es de un tipo/ es un sistema de gestion academica, tengo alumno docente o administrati"o2. Po lo $ue $uiero a!cer es para cada tipo de persona se !abiliten las paginas a las $ue puede acceder # ademas para cada tipo mane&ar un menu distinto. (o tengo muc!a idea si eso se puede !acer con roles. uc!as =racias

También podría gustarte