我已经创建了一个ASP。NET Core 2.1 MVC web应用程序和我使用了一个简单的登录表单来验证用户。现在,我们决定删除登录表单,并对我的组织的Office 365用户凭据或我的Office outlook用户名使用单一登录选项
这个web应用程序是一个MVP(最小可行产品)项目,所以我们不想使用我们自己的身份验证
我在互联网上搜索了许多网站,一些网站解释说“不需要代码来配置SSO,只需要配置Azure AD”,其他一些网站也解释了一些代码。所以现在我完全困惑了,我应该如何为我的简单网络应用程序实现SSO。
我的tartup.cs代码:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddSession(options =>
{
options.Cookie.IsEssential = true;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
//Fetching Connection string from APPSETTINGS.JSON
var ConnectionString = Configuration.GetConnectionString("MbkDbConstr");
//Entity Framework
services.AddDbContext<ShardingDbContext>(options => options.UseSqlServer(ConnectionString));
//Automapper Configuration
AutoMapperConfiguration.Configure();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseSession();
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller:required}/{action}/{id?}",
defaults: new { controller = "UserAccount", action = "UserLogin" });
});
}
}
注意:我已经配置了应用程序。使用身份验证()
如果要使用App Services对用户进行身份验证,请参阅文档以了解如何在App Services中启用AAD身份验证。
通常,对于任何Web应用程序,都可以在Azure AD中配置应用注册。还可以配置声明属性,以便使用SSO功能。有关如何在Azure AD中配置应用注册,请参阅文档。
使用基于表单的JAAS、MySQL、Apache TomEE、JSP、Servlet 我知道如何配置基于表单的JAAS,当用户试图访问安全页面时,自动将用户重定向到登录页面。基本上,我已经为TomEE和MySQL配置了JDBC领域(在文件中),在中,我已经声明了、和。 然后,有以下登录表单: 而且,这对于在web.xml中的标记中声明的页面很好。 但是,我想有明确的访问一个页面,用户可以登录。那么
我是一名在netbeans工作的新java程序员,我正在尝试基于sqlite数据库进行登录。在数据库中,我有一个username列、一个password列和一个position列。登录的目的是,当用户输入用户名和密码并按下登录按钮时,程序将连接到sqlite数据库,访问数据库上的特定表,检查用户名和密码字段是否匹配,然后根据他们的位置(管理员、经理或教师),他们将转到不同的jframe。目前,我创
我正在尝试为自己构建一个仪表板,为我使用的一些应用程序提供基于SAML的身份验证。 从我作为测试平台构建的: 我正在使用一个登录名作为我要使用的应用程序的身份提供者。 举个例子:对于Netflix,我被重新路由到Netflix页面,我的用户ID和密码被预先填入其中,就像密码管理器的工作方式一样。(它使用OneLogin的扩展名) Netflix是否允许基于SAML的单点登录身份验证?我无法从谷歌搜
我有两门课。我的基层: 还有我的另一门课。这个类扩展了BaseRequest类。 当我尝试创建映射器将我的Add Class转换为其他类时: 当我运行我的构建时,我收到了这个错误: 错误:(22,13)java:源参数中不存在名为“dateTransaction”的属性。你是说“空”吗?
问题内容: 我已经使用了基本的和基于表单的身份验证来配置spring-security 。 我希望下面的端点不使用基于表单的安全性。外部的其他端点应使用基于表单的登录名。我希望收到对未提供凭据的这些端点的任何呼叫的响应。 更新 :感谢下面的卢克·泰勒的评论,我想出了以下解决方案。 注意 :只能从spring-security 3.1开始应用此技术。 首先,我单挑。我们永远不会创建会话,尽管会使用一
我正在通过boto3组织从主AWS帐户获取所有子帐户。代码运行良好。我可以得到子帐户列表。但是如果您再次运行我的AWS Lambda函数,那么它将无法获取子帐户。 获取以下错误: 20到30分钟后,我可以看到我的代码工作了一次又一次地引发上述异常。 我是由AWS网关AWS Lambda运行此代码的。 有什么想法吗? 代码: