.net会员拒绝登录

 2023-02-17    401  

问题描述

我已经使用了.NET登录了很长时间了,但我的最新项目要求一些不那么大的编码.

我有一个数据库,其中包含表格等.
有4个角色:

.net会员拒绝登录

  • admin
  • Basicadmin
  • Poweradmin
  • 成员

现在,前3位能够登录管理系统,但我想拒绝登录角色成员中的那些,我已添加到WebConfig:

<authorization>
  <deny roles="Member"/>
  <deny users="?"/>
</authorization>

这是有效的.它将位于角色’会员’中的用户重定向到登录页面,但它没有给出邮件登录失败,因为当您未注册时,您将获得错误的数据.

成员可以登录站点的成员区域,该成员将用于争论将限制限制为管理员.

有谁知道我错了,我错过了一些东西,或者这是不可能的吗?

谢谢,

推荐答案

您的会员可以登录并获得成员内容,然后在尝试到管理部分中的某些内容时重定向.它正在设计.该会员不会获得失败的登录消息,因为它们没有登录,而是被拒绝访问.

在整个应用程序中,您可以检查作为一个人试图转到页面,他们无法访问和击落他们没有访问权限的消息,但这是额外的工作,但可行的.

您还可以以这样的方式修改您的应用程序,该方法仅显示站点的某些部分,仅显示用户是否处于正确的角色.例如,Roles.isuserInrole(“角色”)将检查当前登录的身份/用户处于角色. 2.0中还有LoginView控件,您可以将控件包装在此内容中.

编辑:根据您的第一个评论澄清.

这就是角色提供商的设计方式.它将您重定向到登录页面,当您尝试访问您在Web.config中被拒绝的页面.

你可以做几件事:

删除Web.config中的组的拒绝语句,然后执行两件事之一或两者:

使用loginView控件并封装”管理视图中的”admin”角色的功能,然后向”成员”角色显示它们无权的”成员”角色.

和/或在页面加载事件上写入代码,用于检查角色并呈现消息和/或将用户重定向到另一个页面.

或在web.config中留下拒绝语句,为组和

在页面加载事件的登录页面的事件,如

If  Me.User.Identity IsNot Nothing and Me.User.Identity.Isauthenticated Then
          If Me.User.IsInRole("admin") Then
            Response.Redirect("~NoAccessToMemberStuff.htm")
          Else If Me.User.IsInRole("member") Then
            Response.Redirect("~/NoAccessToAdminStuff.htm")
          End If
    End If

以上所述是小编给大家介绍的.net会员拒绝登录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34102.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。