如何使用angularjs获取用户所属的安全组列表 - javascript

在我使用angular js构建的ASP.Net MVC SPA中,我想根据用户是否在特定的安全组中来显示或隐藏链接。我打算在html页面中使用ng-if指令来显示或隐藏。

在我以前的项目是纯MVC.net应用程序,我有下面的方法来获取此安全组列表。

但是如何在angularjs应用程序中做到这一点?当前,我的应用程序在云上,并且根据Azure Active Directory对用户进行身份验证。

   internal static IEnumerable<string> GetSecurityGroups()
    {
        try
        {
            ClaimsPrincipal claimsPrincipal = null;
            claimsPrincipal = Thread.CurrentPrincipal as ClaimsPrincipal;
            claimsPrincipal = ((claimsPrincipal == null) && (HttpContext.Current.User != null))
                ? HttpContext.Current.User as ClaimsPrincipal
                : claimsPrincipal;
            if (claimsPrincipal != null)
            {
                return ((ClaimsIdentity)claimsPrincipal.Identity).Claims
                    .Where(
                        claim =>
                            "group".Equals(claim.Type.Replace("http://sts.tmft.net/user/", ""),
                                StringComparison.InvariantCultureIgnoreCase))
                    .Select(c => c.Value).ToList();
            }
        }
        catch (Exception exception)
        {
            Log.Error(exception);
        }
        return new[] { "No rights" };
    }

参考方案

您可以将上述(GetSecurityGroups)作为Web服务公开,然后使用生成的版权对象来显示/隐藏部分。

请注意,您仍然需要限制对服务器端功能(即隐藏部分公开的Web服务调用)的访问,因为您不能真正相信这种客户端安全性只是一个小障碍,如果有些用户决心使用未经授权的功能。

html onClick打开url存储在php变量中 - javascript

以下是我的代码,正在获取Uncaught SyntaxError: Unexpected token },但是我的代码中没有看到任何}。 window.open期望用引号引起来的url,我尝试了单引号和双引号的不同组合,但不起作用并且也无法在echo中转义双引号。请帮助谢谢..<?php $a = "https://www.google.co…

获取JavaScript值到C#字符串 - javascript

                        是否可以在C#中执行类似的操作?该值为“ 10/05/2014”string jsValue = javascript("$('#EstimatedStartDate').val()"); 参考方案 您能否更详细地阐明您要做什么。看来您正在尝试从javascript(客户…

如何安全地将数据从php表单传递到html - javascript

我有一个html格式的登录系统,我需要将用户名和密码发送回php后端,在那里我可以安全地对其进行加密并将其存储在数据库中。我想知道什么是最新和最安全的方法。请记住,这是密码的准系统字符串形式,请务必谨慎以最安全的方式将其返回。我知道$ _GET和$ _POST是非常不安全的。我是否在将javascript数据发送回服务器之前对其进行加密,因此将javascr…

Javascript-从当前网址中删除查询字符串 - javascript

单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…

.NET C#Webbrowser填充输入,不带ID或类名 - javascript

我需要在网络浏览器中填写一个输入,但这不起作用。我认为必须使用name属性来完成,但是怎么做呢?foreach (HtmlElement login in webBrowser1.Document.GetElementsByTagName("input")) { if (login.GetAttribute("name"…