我为角色管理创建了一个方面。SecuredOperation Aspecti 如下。
[Serializable]
public class SecuredOperation: OnMethodBoundaryAspect
{
public string Roles { get; set; }
public override void OnEntry(MethodExecutionArgs args)
{
string[] roles = Roles.Split(',');
bool isAuthorized = false;
foreach (string role in roles)
{
if (System.Threading.Thread.CurrentPrincipal.IsInRole(role))
isAuthorized = true;
}
if (!isAuthorized)
throw new SecurityException("You are not authorized!");
}
}
正如我在上面的课程中提到的,如果授权不可用,它会引发错误。我想在界面中正确显示此错误。例如,我想打印到桌面应用程序中的消息框。我想在 Web 应用程序中使用 sweetalert 按下屏幕。那么我应该怎么做才能捕捉到这个错误并在任何平台上打印呢?
例如,如果我将 global.asax 用于 mvc 会怎样?例如;
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
}
那么我可以学习有效的应用程序平台吗?如果我可以学习,我可以检查下面的内容而不是抛出错误吗?
If (Platform.Mvc)
response.write ("<script> Error! </script>");
else if (Platform.Winform)
MessageBox.Show ("Error!");
可以做这样的检查吗?