Asp.net mvc 3 质疑如何在MVC Web应用程序中为不同的经过身份验证的人呈现视图和调用服务
我有疑问,我需要你的帮助。 我正在为大学做一个项目,我有以下问题 我的项目旨在管理特定项目的问题。在项目中,通常与成员(解决问题)和客户关联 那份报告是关于这个问题的 我的问题从这里开始: 该应用程序是一个web应用程序,使用管理员、成员和客户的登录机制。 客户报告,由会员决定 因此,我看到的是: 对于客户来说,表单用于添加、更新并允许将所有信息添加到问题中。 另一方面,成员国根据其决议改变问题的状态 我正在做一个web应用程序MvC3我的问题是。。如何根据经过身份验证的人呈现不同的视图 以及不同业务层的呼叫服务 目前,我的控制器扮演的角色是验证用户是否可以通过角色进行访问,而不是其他。。验证身份的是业务层。 如何以及在何处做出决定,以及如何避免if和ELSE在整个代码中传播?Asp.net mvc 3 质疑如何在MVC Web应用程序中为不同的经过身份验证的人呈现视图和调用服务,asp.net-mvc-3,authentication,views,profile,Asp.net Mvc 3,Authentication,Views,Profile,我有疑问,我需要你的帮助。 我正在为大学做一个项目,我有以下问题 我的项目旨在管理特定项目的问题。在项目中,通常与成员(解决问题)和客户关联 那份报告是关于这个问题的 我的问题从这里开始: 该应用程序是一个web应用程序,使用管理员、成员和客户的登录机制。 客户报告,由会员决定 因此,我看到的是: 对于客户来说,表单用于添加、更新并允许将所有信息添加到问题中。 另一方面,成员国根据其决议改变问题的状态 我正在做一个web应用程序MvC3我的问题是。。如何根据经过身份验证的人呈现不同的视图 以及不
公共接口IQueryService{
public interface IQueryService {
...
#region Issues
IEnumerable<IssueQueryList> GetIssues(int currentPage, int take);
IssueServiceClientDTO GetIssueById(int issueId);
#endregion
...
...
#区域问题
IEnumerable GetIssues(int currentPage,int take);
IssueServiceClientdTogetIssueByid(intIssueId);
#端区
...
}
我最终将有一个GetIssueByIdMember(…),它使用不同的DTO数据为成员返回问题
public sealed class IssueService : ServiceBase, IIssueService
{
public IssueService(IRepository db) : base(db)
{
}
public void Add(IssueServiceClientDTO issueServiceClient)
{
if (issueServiceClient == null)
throw new ArgumentNullException("issueServiceClient");
User dbUser = CurrentUser;
Client dbClient;
if (dbUser == null || (dbClient = dbUser as Client) == null)
throw new InvalidOperationException();
Project dbProject = _db.Query<Project>().GetById(issueServiceClient.ProjectId);
_db.Insert(issueServiceClient.CopyToDomainObject(dbProject, dbClient));
}
公共密封类IssueService:ServiceBase,IIssueService
{
公共发行服务(IRepository db):基础(db)
{
}
公共作废添加(IssueServiceClientD到issueServiceClient)
{
如果(issueServiceClient==null)
抛出新ArgumentNullException(“issueServiceClient”);
User dbUser=CurrentUser;
客户端dbClient;
if(dbUser==null | |(dbClient=dbUser-as-Client)==null)
抛出新的InvalidOperationException();
Project dbProject=_db.Query().GetById(issueServiceClient.ProjectId);
_Insert(issueServiceClient.copytomainobject(dbProject,dbClient));
}
这只是针对客户机…但是当我有针对表示层的成员(在另一个类中)的,或者从某个地方,我最终需要知道调用哪个服务
这是查询服务,但我将为客户和会员提供服务
但是我需要在之前知道(基于用户身份验证)调用哪个方法。我想我理解您对控制器的看法,但是您能提供一些代码以便我们更好地帮助您吗?