确定用户是否可以访问数据库生成的页面?

时间:2010-01-11 23:44:20

标签: asp.net asp.net-mvc authorization roleprovider

我为.NET MVC网站设置了MembershipProfileRole个提供程序。我想说:Role可以访问Page

如何将此代码“注入”RoleProvider?或者我必须以某种方式覆盖它?任何线索?

(角色存储在默认的ASP.NET SqlRoleProvider中,Pages存储在单独的SQL数据库中)。

2 个答案:

答案 0 :(得分:2)

为什么要将此注入角色提供程序?为什么不装饰ActionResult [Authorise(Roles="myrole")]

我了解您的网页在数据库中,但操作结果仍然需要调用视图吗?

我猜你可以写你自己的自定义属性,它可以检查并授予访问权限或拒绝它。

我不认为角色提供者是确定页面是否可以显示的正确位置。

答案 1 :(得分:1)

在asp.net下查看using sitemaps。它非常容易管理和extend

我甚至将它们用作菜单系统的数据源。

进入您的网页后,您可以执行以下操作:

User.IsInRole("RoleName")