- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题直接紧接着this one 。我有一个 native 应用程序,必须显示用户所属的组(更准确地说,我想显示与该组关联的共享点站点)。
它适用于注册应用程序的租户的任何用户。但是当我尝试从另一个租户连接时,它仅适用于管理员帐户。尝试连接用户帐户时出现此错误:
Correlation ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
Timestamp: 2017-04-19 08:32:24Z
AADSTS90093: Calling principal cannot consent due to lack of permissions.
永远不会触发管理员同意流程。正如我在上面链接的上一篇文章中所述,尝试添加“prompt=admin_consent”作为查询参数会返回此错误:
"Duplicate query parameter 'prompt' in extraQueryParameters"
到目前为止我找到的示例和教程都是针对网络应用程序的,一旦提到这个问题,那些本来可以在 stackoverflow 上帮助我的问题却出奇地沉默 link1 link2 .
<小时/>是否有办法触发 native 应用程序的管理员同意流程?可以使用 ADAL 或其他方式来完成吗?
无法将应用程序从 native 更改为网络,因为我只是尝试向现有应用程序添加新功能。
因此,如果上述问题的答案是“否”,有什么解决方法吗?我愿意接受任何建议。
最佳答案
您可以在不使用 ADAL 的情况下发送管理员同意请求。由于您使用的是WinForm应用程序,我们可以使用WebBrowser控件显示登录页面,将prompt=admin_consent
设置为请求url的一部分。如果管理员同意成功,请检查admin_consent<的值是否
响应为 True
。以下代码供您引用:
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var parameters = new Dictionary<string, string>
{
{ "response_type", "code" },
{ "client_id", "<client id>" },
{ "redirect_uri", "http://localhost" },
{ "prompt", "admin_consent"}
};
var requestUrl = string.Format("{0}/authorize?{1}", "https://login.microsoftonline.com/common/oauth2", BuildQueryString(parameters));
webBrowser1.Navigate(requestUrl);
}
protected string EndPointUrl
{
get
{
return string.Format("{0}/{1}", "https://login.microsoftonline.com/common", "");
}
}
private string BuildQueryString(IDictionary<string, string> parameters)
{
var list = new List<string>();
foreach (var parameter in parameters)
{
list.Add(string.Format("{0}={1}", parameter.Key, Uri.EscapeDataString(parameter.Value)));
}
return string.Join("&", list);
}
private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
if (e.Url.AbsoluteUri.StartsWith("http://localhost"))
{
var collection = System.Web.HttpUtility.ParseQueryString(e.Url.Query);
//check whether admin consent success
if (collection["admin_consent"] == "True")
{
//hide/close webBrowser
}
}
}
如果您不想对代码执行任何操作,租户管理员可以通过打开浏览器并转到以下 URL 来手动获得管理员同意:
https://login.microsoftonline.com/<tenant>/oauth2/authorize?client_id=<client id>&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2F&nonce=1234&resource=https%3A%2F%2Fgraph.windows.net%2F&prompt=admin_consent
关于.net - 如何触发 native Multi-Tenancy 应用程序的管理员同意流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43491071/
有没有办法为 Sinatra 获取 Django Admin 风格的网络管理员? 最佳答案 没用过,但通过谷歌很快就显示出来了:http://www.padrinorb.com/ 关于ruby - S
我正在开发一个 Wordpress 插件,它为不同的用户(管理员、编辑、作者、贡献者、订阅者)提供不同的权限。我已经能够使该插件在管理员面板或页面/末尾完美运行,但是当我以编辑身份登录时,我无法在他们
在为 Web 应用程序用例图建模时,为用户可以拥有的每个角色创建一个角色是否更好?或拥有一个角色、用户和一个具有特权的矩阵? guest < 用户 < 版主 < 管理员 1: guest 、用户、版主
Tibco Administrator GUI 在哪里获取应用程序和服务的状态? 在我的项目中,我需要读取 Tibco admin 中列出的所有服务的状态。我没有安装 Tibco hawk,我需要除
我们最近将我们的多域 magento 设置从共享主机迁移到专用服务器。 一切正常,但是当我尝试转到管理部分时,登录后出现任何 404 错误。 如果我从 url 中删除 index.php 似乎可以工作
我有一个多对多字段。我想限制管理员在其 M2M 小部件中显示的选择。 我有一个这样的模型: class A(models.Model): b_field = models.ManyToMany
我正在与其他几位同事一起使用 Azure。我们有一个共享的管理员帐户,我们所有人都可以访问该帐户(凭据)。几天前,当尝试使用管理员帐户登录 Azure 门户时,我们收到此消息:“需要更多信息。您的组织
如何使 Django 后端(和一些 View )在不同的域中可访问?是通过站点框架完成的吗? 最佳答案 创建 settings.py 的副本并使用该设置文件运行管理服务器。此外,创建 urls.py
我刚刚收到以某种方式在 Django 管理面板上显示数据的要求。实际上我有日志表,其中包含用户 ID 和它采取的操作。 class AuditTrail(models.Model): id = m
每当我访问我的网站地址/admin 时,就会出现此问题 Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied f
我一直在为 Django/Mysql 中的情况而苦苦挣扎。 在同时有主键和外键的表中有这一列。此列与中间表具有一对多关系。 这是与植物物种相关的状态列表。有些物种可以在多个州找到。 物种(表 1)列:
firebase 身份验证和 firebase 管理员有什么区别? 据我所知,firebase admin 具有身份验证功能,并且可以绕过安全性,这与 firebase 身份验证不同。 Firebas
我创建了一个 SonarQube 组 sonar-administrators-ldap 并映射到 LDAP sonar-administrators-ldap 。 sonar-administrat
我正在创建一个 Django 应用程序,其中所有模型都可以按照用户设置的顺序相互关联。我正在使用 GenericForeignKeys 设置所有这些。关键是我需要能够支持这些类型的关系/管理的多个集合
我无法使用我创建的任何 super 用户登录 Django 管理员。尝试创建新的 super 用户、更改密码等 - 这些进程中的任何一个都没有错误消息,但仍然无法登录。 我不确定它是否相关,但我也无法
我正在将我的 Django 项目前端从使用 jquery 转换为 angularjs与 Django Rest Framework以帮助使其成为单页应用程序。我已经用 angular 转换了大部分棘手
我正在尝试在我的管理页面中的某个 ModelView 上加载脚本: class CustomView(ModelView): # Neither approach works here:
我正在尝试在我的 rails 应用程序中设置设计。它运行良好,但现在我无法以任何用户身份登录,我收到“电子邮件或密码无效”。我想更深入地了解为什么它不进行身份验证。 是否有任何设计配置设置可以提供更多
我目前正在尝试在 drupal 中实现第二个(较低的)管理层。我通过同名模块为这些用户制作了一个额外的部分,以便他们可以拥有自己的主题等。我想在他们的页面部分中为这些二级或更低级别的管理员提供一个菜单
如何显示来自 API 服务器 React-admin 3.0 版的错误响应消息? 此变体不起作用 https://github.com/marmelab/react-admin/pull/871 en
我是一名优秀的程序员,十分优秀!