我们有一个多层项目(包含数据访问层,服务层,Web ....) 我们也有一些实体,如人,用户,客户,员工 现在我们将在我们的网站上使用asp.net身份进行用户注册和身份验证 现在,如果我们想在其中一个层(而不是网站)中注册用户,我们如何根据asp.net身份进行注册,那么身份验证呢?
(我的第一个想法是将用户添加到数据库并使用Password.AspNet.Identity的PasswordHasher类来散列密码,有更好的方法吗?例如将asp.net标识移动到新的类库项目或任何其他方式)
另一件事:
我想知道如何在此设计中使用Customer,Employee等其他实体?
答案 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中使用它 我使用密码哈希来散列密码并检查哈希密码