0
帮助!这段代码有什么问题?我有一个Windows窗体应用程序,我需要使用基于角色的安全来保护DLL;只有“MyRole”中的某个人才能打电话给此程序集。DLL上的基于角色的安全
我已经尝试了两种不同的方法来设置当前主体,但我得到的只是“请求主体权限失败。”。
下面是一个小型控制台应用程序,演示了这个问题。提前致谢!
Imports System.Security
Module Module1
Sub Main()
Try
AppDomain.CurrentDomain.SetPrincipalPolicy(Principal.PrincipalPolicy.WindowsPrincipal)
'Dim oCurrPrincipal As New Principal.WindowsPrincipal(Principal.WindowsIdentity.GetCurrent())
'Threading.Thread.CurrentPrincipal = oCurrPrincipal
Dim oWriter As New Writer
oWriter.WriteLog("It seems so simple, why doesn't it work?")
Catch ex As Exception
Console.WriteLine(ex.ToString)
Finally
Console.ReadLine()
End Try
End Sub
End Module
Imports System.Security.Permissions
Imports System.Security
<PrincipalPermission(SecurityAction.Demand, Role:="MyRole")> _
Public Class Writer
Public Overloads Sub WriteLog(ByVal sMessage As String)
Console.WriteLine(sMessage)
End Sub
End Class