在多个项目中使用Asp.net mvc身份

时间:2016-01-15 20:16:22

标签: c# asp.net .net asp.net-mvc identity

我们有一个多层项目(包含数据访问层,服务层,Web ....) 我们也有一些实体,如人,用户,客户,员工 现在我们将在我们的网站上使用asp.net身份进行用户注册和身份验证 现在,如果我们想在其中一个层(而不是网站)中注册用户,我们如何根据asp.net身份进行注册,那么身份验证呢?

(我的第一个想法是将用户添加到数据库并使用Password.AspNet.Identity的PasswordHasher类来散列密码,有更好的方法吗?例如将asp.net标识移动到新的类库项目或任何其他方式)

另一件事:

我想知道如何在此设计中使用Customer,Employee等其他实体?

2 个答案:

答案 0 :(得分:1)

  

如果我们想在其中一个层(而不是网站)中注册用户如何   我们可以根据asp.net身份

来做

您不希望将ASP.Net标识纳入业务逻辑层。它应该只在Presentation Layer。

  

(我的第一个想法是将用户添加到数据库并使用PasswordHasher类   用于散列密码的Microsoft.AspNet.Identity,是否有更好的效果   办法 ?例如,将asp.net标识移动到新的类库中   项目或任何其他方式)

首先,如果要使用ASP.Net Identity,则不希望更改或修改其表。

最简单的方法是让ASP.Net Identity首先创建表。然后创建表,例如Customer,Employee。如果您需要与UserId建立关系,请在表格中使用 AspNetUsers - Id 列作为主键外键

Adam Freeman有ASP.Net Identity here的免费章节。

其他想法

如果您想要进行大量更改,您可能只想考虑使用OwinContext和AuthenticationManager而不是整个Identity。

答案 1 :(得分:0)

最后我找到了答案 谢谢你赢得你的导游 最后,我将用户管理器对象从AccountController传输到类库,以使用不同控制器中的寄存器和登录方法 我还将Microsoft.AspNet.identity添加到我的一个类库项目中,并创建2个注册和验证方法,以便在webservice中使用它 我使用密码哈希来散列密码并检查哈希密码