0
Help!このコードで何が問題になっていますか?ロールベースのセキュリティを使用してDLLを保護する必要があるWindowsフォームアプリケーションがあります。 "MyRole"内の誰かだけがこのアセンブリへの呼び出しを行うことができます。DLLのロールベースセキュリティ
現在のプリンシパルを設定するのに2つの異なる方法を試しましたが、「プリンシパルアクセス許可に失敗しました」というメッセージが表示されます。
ここに問題を示す小さなコンソールアプリがあります。前もって感謝します!
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