0

我为角色管理创建了一个方面。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!");

可以做这样的检查吗?

4

0 回答 0