在我使用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"…