Infrastructure/OpenAuth.Auth/AuthStrategies/AuthStrategyContext.cs

58 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using Infrastructure;
using OpenAuth.Auth.Interface;
using OpenAuth.Auth.Model;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Auth.AuthStrategies
{
/// <summary>
/// 授权策略上下文,一个典型的策略模式
/// </summary>
public class AuthStrategyContext
{
private readonly IAuthStrategy _strategy;
public AuthStrategyContext(IAuthStrategy strategy)
{
this._strategy = strategy;
}
public SysUser User
{
get { return _strategy.User; }
}
public List<ModuleView> Modules
{
get { return _strategy.Modules; }
}
public List<SysModuleElement> ModuleElements
{
get { return _strategy.ModuleElements; }
}
public List<SysRole> Roles
{
get { return _strategy.Roles; }
}
public List<SysResource> Resources
{
get { return _strategy.Resources; }
}
public List<SysOrg> Orgs
{
get { return _strategy.Orgs; }
}
public List<SysPosition> Positions
{
get { return _strategy.Positions; }
}
}
}