2013-03-27 23 views
0

我有一个使用表单身份验证的项目。当用户注册时,他们需要用他们的账户设置安全问题。我想将安全问题列表存储在数据库中,以便未来的管理员可以控制此列表...添加问题,退出问题等...管理员工作正常,但安全,意味着我的业务层仅限于经过身份验证的用户,使用主要权限属性等。将安全问题列表存储在数据库的表中 - 需要匿名访问?

问题是,在实际注册表单上,用户是匿名的。我无法围绕如何允许匿名用户检索访问此列表的问题。

+1

您的业务层需要允许在注册过程中完成任何事情的匿名访问。或者为这些用户创建一个备用路径(并行数据层)。 – alroc 2013-03-27 20:46:49

+0

我想我将与'并行数据层只为这些用户'。我如何将评论标记为接受的答案? – 2013-03-28 13:32:18

+0

您不能接受评论作为答案。我会让它成为答案,然后你可以接受。 – alroc 2013-03-28 13:54:22

回答

0

您的业务层需要允许在注册过程中完成任何事情的匿名访问。或者为这些用户创建一个备用路径(并行数据层)。

第二种方法的危险是您最终可能会复制代码,这对维护不利。

+0

选择2,并行数据层。只有未经授权的用户才需要执行的功能可以从该层访问。存储库就是问题的所在,我相信我可以从我的主要代理商那里继承一种“未经认证”的代理商,这种代理商只能访问我所需要的代理商。 – 2013-03-28 14:19:47

+0

我正在使用有界上下文,所以这将是另一个上下文,受到访问它的无条件性质的约束。 – 2013-03-28 14:44:50

0

如果我正确理解您的设置,请执行以下操作:

  1. 从类移动你的PrincipalPermission属性,该属性是“只管理”的具体方法。

  2. 创建一个新的方法,即检索,没有任何PrincipalPermission属性。