2023-02-17 393
我想根据他们在ASP.NET会员提供者中的角色重定向人员.我在登录页面上的”onloggedin”事件中有一些代码.这是我到目前为止尝试的,没有什么不起作用:
下面的代码在.isauthenticated步骤上返回false,它表示用户未经身份验证.在登录页面上的阶段,用户被认证,我认为”onloggedin”事件是正确的地方.
if (HttpContext.Current.User != null)
{
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
if (HttpContext.Current.User.Identity is FormsIdentity)
{
}
}
}
第二件我尝试的是要获得用户的所有角色,但它没有返回任何内容,返回空的字符串数组,我检查了将角色分配给该特定用户的数据库.这是我尝试的方式:
string[] userRole = Roles.GetRolesForUser(LoginUser.UserName);
所以,我的问题是我如何在登录页面上获取角色,我是否需要在其他一些事件或某些其他方式检查该角色.
谢谢你提前帮助,laziale
第一个情况是不起作用的,因为它返回它进入时请求的值.使用FormsAuthentication登录基本上只是在响应中设置Cookie,以便下一个请求获取合适的用户.
第二个情况应该工作,假设LoginUser是登录控件的名称.
如果您有一些预定义的规则集(Superadmin,Admin,User,….)而不是
可以使用开关案例
并根据身份验证级别
您可以使用相应的URL
将用户分类/重定向
greg完全正确.所以问题是没有返回角色的原因?可能有几种原因,具体取决于您在Web.config中的RolesProvider设置上创建角色的原因.
因此,请确保您的角色提供程序指向同一数据库,您可以看到角色.
另外检查您是否不使用不同的角色提供程序来创建角色,例如通过不同的角色访问它.如果您在Web.config中拥有多个角色提供程序,则会发生这种情况.
还检查它不是 applicationname问题.
如果这没有帮助发布Web.config角色设置以及信息如何创建角色.
以上所述是小编给大家介绍的登录页面上的OnLoggedIn事件 ASP.NET,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/34105.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态