ASP.net角色和项目
编辑 – 重写我原来的问题,以提供更多信息
背景信息 我无法确定我们的确切设置/配方,因为我认为我们公司不会批准…… 什么是客户/项目? >一个帐户:有关公司的信息 外联网站点设置 >公司站点:提供帐户信息和产品的概述 测量站点是外联网中最有趣的部分.我们将为新的概述,报告,管理和维护对研究重要的资源创建子模块. 我们的Visual Studio解决方案包含许多项目.一个名为Portal的Web应用程序作为基础.站点和模块是该应用程序中的虚拟目录(使得在事物之间共享MasterPages更容易). 什么样的角色? >管理员:开发用户:)(不是客户相关的,完全访问权限) ASP.Net用户怎么样? >帐户之间不共享用户 网址结构 > http://host/login – 登录界面 我们还将创建一个文档URL,您可以通过它的GUID请求特定文档.系统必须检查用户是否拥有该文档的权限.该文档与度量相关,用户或特定角色对文档具有特定权限. 有什么问题? (最后;)) 总结如下: >我们如何限制用户的帐户/度量? 所有这些都具有asp.net类的神奇功能,可能还有自定义的roleprovider实现. 类似Stackoverflow问题/问题 解决方法
您从我看到的各种帖子中寻求的是自定义角色机制或另一种方式,即自定义授权机制.身份验证仍然可以使用标准的SqlMembershipProvider.
我不确定标准角色提供程序是否会为您提供所需的权限,因为授权要求您具有项目的上下文.但是,您可能会调查编写自定义RoleProvider以查看是否可以创建一些自定义方法来执行此操作.尽管如此,为了回答这个问题,我假设你不能使用SqlRoleProvider. 所以,这是一些潜在的架构: Create Table Companies ( Id int not null Primary Key,... ) Create Table Projects ( Id int not null Primary Key,PrimaryContactUserId uniqueidentifier,...,Constraint FK_Projects_aspnet_Users Foreign Key ( PrimaryContactUserId ) References dbo.aspnet_Users ( UserId ) ) Create Table Roles ( Name nvarchar(100) not null Primary Key,... ) Create Table ProjectCompanyRoles ( CompanyId int not null,ProjectId int not null,RoleName nvarchar(100) not null,Constraint FK_... ) 正如我之前所说,在Projects表中包含PrimaryContact的原因是为了确保给定项目只有一个.如果将其作为角色包含在内,则必须包含一堆箍跳代码,以确保项目未分配多个PrimaryContact.如果是这种情况,那么从Projects表中取出PrimaryContactUserId并使其成为一个角色. 授权检查需要对ProjectCompanyRoles进??行查询.同样,Project和Company的上下文的添加使得使用默认角色提供程序成为问题.如果要将.NET机制用于角色和身份验证,则必须实现自己的自定义RoleProvider. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net开源流程引擎API开发调用接口大全-工作流引擎设计
- asp.net-mvc-3 – 如何使用Asp.Net MVC 3和Razor具有视图特
- ASP.NET Core使用Jaeger实现分布式追踪
- asp.net-web-api – Hot Towel / Durandal / Breeze.js:如
- 如何在ASP.net MVC中正确执行异步方法?
- asp.net-mvc-3 – EF和存储库模式 – 在一个控制器中以多个
- ASP.NET MVC – 开始的原因
- asp.net-mvc – 了解nopCommerce的MVC标签
- “自动完成关闭”无法在IE中运行 – ASP.Net
- asp.net-mvc – AspNet Identity 2.0电子邮件和用户名重复
- asp.net-mvc-3 – asp.net mvc 3 razor从IEnumer
- asp.net-mvc-3 – 向Html.ActionLink添加一个类
- asp.net – 最早我可以访问global.asax中的一些S
- 在ASP.Net应用程序和最佳实践中使用WCF
- asp.net – 指定的CGI应用程序遇到错误,服务器终
- asp.net-mvc – ASP.NET MVC 3中字典的隐藏输入
- ASP.NET Core部署系列二:发布到CentOS上
- asp.net-mvc – 使用MVC 4和实体框架填充DropDow
- 为什么VS编译器在使用嵌套配置文件时抱怨没有找到
- asp.net – 如何使用angular2的http与应用程序主