如何将当前上下文传递给对象c#
我正在创建一个应用程序,第一次使用我的用户帐户登录。此用户帐户可以是windows或我自己的应用程序数据库中的自我管理帐户 现在,我想在访问我的应用程序的任何业务对象之前授权登录的用户。对象与数据库表映射,所以最终我想首先授权用户,不管是否将数据返回给用户 登录后,我将用户凭据全局存储为如何将当前上下文传递给对象c#,c#,authorization,credentials,C#,Authorization,Credentials,我正在创建一个应用程序,第一次使用我的用户帐户登录。此用户帐户可以是windows或我自己的应用程序数据库中的自我管理帐户 现在,我想在访问我的应用程序的任何业务对象之前授权登录的用户。对象与数据库表映射,所以最终我想首先授权用户,不管是否将数据返回给用户 登录后,我将用户凭据全局存储为UserCredential类的对象。但我不想在创建每个对象时将此凭据传递给它 是否有任何方法可以自动检查/访问我正在进一步创建的每个业务对象的应用程序上下文(包括我全局存储的UserCredential对象)
UserCredential
类的对象。但我不想在创建每个对象时将此凭据传递给它
是否有任何方法可以自动检查/访问我正在进一步创建的每个业务对象的应用程序上下文(包括我全局存储的UserCredential
对象)
我想在C#中实现这一点。非常感谢代码示例。您应该查看PrincipalPermissionAttribute类,以下是MSDN文档: 当Thread.CurrentPrincipal与安全断言不匹配时,PrincipalPermissionAttribute引发SecurityException 示例: 用户名为GDroid:
[PrincipalPermission(SecurityAction.Demand, Name = "GDroid")]
public void YourBusinessMethod()
{
// Do something
}
用户属于管理员角色:
[PrincipalPermission(SecurityAction.Demand, Role = "Admin")]
public void YourBusinessMethod()
{
// Do something
}
用户已通过身份验证:
[PrincipalPermission(SecurityAction.Demand, Authenticated = true)]
public void YourBusinessMethod()
{
// Do something
}
[我建议]依赖注入。另外,不要传递“凭据”,只传递用户/授权信息,这些信息可能是以前通过凭据建立的。在web服务中,这可能是在请求开始时建立的;如果可能的话,非常快?我通过传递授权信息来理解。但是使用依赖注入的示例代码将非常受欢迎…!!-Thanks@user2246674-他在告诉海报问题的发帖人,不是你