asp.net-mvc – 服务层内的成员资格提供者
出于练习目的,我即将创建一个新的ASP.NET MVC 3.0应用程序.
我的解决方案(Practice.sln)将有4层: > Pratice.Common(我的ViewModels的类库) 假设我有一个名为“Login”的视图,它在我的Practice.Common层中定义的LoginModel上强类型化. 在我的Controller中,当用户提交表单时,我调用以下方法: [HttpPost] public ActionResult Login(LoginModel model) { if(_service.ValidateUser(model)) return null; } ValidateUser()是我的Pratice.Service层中定义的方法(在我的LoginService.cs文件中). 我基本上将验证过程委托给我的服务层…… 我的问题如下: 考虑到我想尝试/使用成员资格提供程序的好处,并考虑到我的服务层中发生了大多数(如果不是全部)我的逻辑,如何将成员资格移动到我的服务层? (如果这是一件好事) 另外……我打算创建自己的成员资格提供者,而不是内置的成员资格提供者,因为我没有使用所有那些生成TABLES和sprocs …… 奖金问题: 将所有登录和帐户管理直接从Controller中进行并且我的所有其他业务逻辑保留在我的服务层内是否被视为最佳实践? 我很擅长直接在Controller中发生逻辑的“部分”以及服务层中发生的其他“部分”. 当然,如果有人有链接或文章解释这一点,我将不胜感激! 诚挚 解决方法
好的,经过几次试验和更多的阅读,我已经设法回答了我自己的问题.
至于将成员资格提供者移动到我的服务层(在我的情况下),这是没有任何意义的,因为我的服务层现在将依赖于System.Web.Security,我不希望这样. 另外,我很快意识到我混淆了两个概念. FormsAuthentication和Membership.虽然它们是相辅相成的,但我并不需要会员提供的所有方法.因此,我不需要创建自定义成员资格提供程序也不需要使用内置成员资格提供程序. 我需要做的就是继续在我的服务层中创建我的方法(例如Login()方法),然后手动创建一个FormsAuthenticationTicket,我将在cookie中添加,然后将该cookie添加到cookie集合中(在控制器). 作为旁注,我也意识到,只有当你将cookie添加到cookie集合中时,HttpContext.User.Identity.IsAuthenticated才会开始返回TRUE. 至于我的奖金问题,除非另有说明,否则我会在服务层中保留登录机制(和验证),而不是在Controller中有一些逻辑,在服务层中有一些逻辑. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – HttpContext如何在.NET中运行
- asp.net-mvc-3 – IoC对泛型的关注点分离
- asp.net-web-api – 无法使MVC4 WebApi包含JSON中的空字段
- asp.net – Silverlight调试期间的Web服务超时
- ASP.NET MVC应用程序安全性
- asp.net – 使用Web Garden模拟Web Farm会话问题?
- 在ASP.NET MVC 3中更改Membership.ValidateUser()和其他内容
- asp.net – 我应该在.gitingore文件中包含.vs文件夹吗?
- asp.net – 在Page_Load之前处理事件
- asp.net – 如何直接在.aspx页面中访问web.config设置?
- ASP.NET WebRequest到Highcharts导出服务器
- 重命名控制器asp.net mvc
- asp.net – AutoMapper:将集合中的项目值从一个
- asp.net – 如何通过webservice从返回的数据集中
- asp.net-mvc – 使用OWIN进行基于区域的身份验证
- asp.net – ReportViewer控件返回空白页面
- asp.net-mvc – 我应该选择云吗?
- asp.net-mvc – UserManager.AddPasswordAsync()
- asp.net-mvc – 从控制器重定向初始化不工作
- asp.net-mvc – 在MVC中的下拉列表选择上调用特定