如何限制对 ASP.NET MVC 中某些页面的访问?
我希望锁定对用户编辑页面(例如/user/pure.krome/edit)的访问,如果
a)Identity.IsAuthenticated = false
或他们已通过身份验证,但
b)Idenitity.Name!=他们的用户页面的用户名正在尝试编辑
c) Identity.UserType() != UserType.Administrator // 这就像一个角色,但不使用 RoleProviders。
我假设你可以用一些东西来装饰控制器或控制器的操作方法,但我只是不确定什么?
I wish to lock out access to a user's EDIT page (eg. /user/pure.krome/edit) if
a) Identity.IsAuthenticated = false
or they are authenticated but
b) Idenitity.Name != user name of the user page they are trying to edit
c) Identity.UserType() != UserType.Administrator // This is like a Role, without using RoleProviders.
I'm assuming u can decorate a controller or a controller's action method with something(s), but i'm just not sure what?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我实现了以下 ActionFilterAttribute,它可以处理身份验证和角色。 我将角色存储在我自己的数据库表中,如下所示:
我这样称呼它......
I implemented the following ActionFilterAttribute and it works to handle both authentication and roles. I am storing roles in my own DB tables like this:
I call this like this...
查看
AuthorizeAttribute
。ASP.Net MVC:可以覆盖 AuthorizeAttribute 吗?
Look at the
AuthorizeAttribute
.ASP.Net MVC: Can the AuthorizeAttribute be overriden?
派生自 AuthorizeAttribute 的自定义属性是什么我经常这样做。 重写 OnAuthorize 方法并实施你自己的逻辑。
A custom attribute derived from AuthorizeAttribute is what I use to do this. Override the OnAuthorize method and implement your own logic.