相关疑难解决方法(0)

如何使用web.config文件强制HTTPS

我搜索了Google和StackOverflow试图找到解决方案,但它们似乎都与ASP.NET等有关.

我通常在我的服务器上运行Linux,但是对于这个客户端,我使用Windows与IIS 7.5(和Plesk 10).这就是为什么我对IIS和web.config文件略有不熟悉的原因.在.htaccess文件中,您可以使用重写条件来检测协议是否为HTTPS并相应地重定向.有没有一种简单的方法可以使用web.config文件实现这一点,甚至使用我安装的" URL Rewrite "模块?

没有使用ASP.NET的经验,所以如果这涉及到解决方案,那么请包括如何实现的明确步骤.

我使用web.config而不是 PHP 执行此操作的原因是我想在站点内的所有资产上强制使用HTTPS.

c# asp.net iis https web-config

208
推荐指数
4
解决办法
21万
查看次数

MVC RequireHttps整个网站

我已经阅读了之前关于使用RequireHttpsAttribute保护单个控制器的帖子:

ASP.NET MVC RequireHttps仅适用于生产

但有没有办法将其应用到整个网站?由于我的主机(discountasp.net)我不能使用"RequireSSL IIS"设置.

asp.net-mvc ssl

62
推荐指数
5
解决办法
3万
查看次数

使用facebook登录MVC5 Null参考

当我使用开箱即用的ASP.NET mvc5帐户控制器登录Facebook时,我有时会得到一个空引用异常.


这是节食方法:

public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
        // Crashes on this line
        var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
        if (loginInfo == null)
        {
            return RedirectToAction("Login");
        }
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何调试这个.一个断点和浸泡虽然代码没有帮助...我最终看到我的Error.cshtml页面.此时的错误是一个简单的对象引用null异常,内部异常也是null.


编辑

我通过Nuget更新到最新的Owins,没有变化.

编辑2

看看小提琴手,Facebook正在回归200,看起来像json一样正确.

编辑3

这么奇怪.我正在测试3个Facebook帐户.两个帐户工作正常,1个没有.失败者返回200.我已经删除了Facebook中的应用程序引用..我得到一个应用程序确认窗口,我点击确定,它死了......太奇怪了.

c# asp.net asp.net-mvc facebook

21
推荐指数
2
解决办法
7462
查看次数

带有自定义身份验证的ASP.NET Web API

我正在寻找帮助创建具有自定义用户名/密码身份验证的Web API.

我有自己的数据库来验证用户,我不想使用Windows身份验证.

我希望能够使用类似的属性来装饰我的web api调用[Authorize],这样在没有登录的情况下进行的调用将会失败.

我不想将凭证作为参数传递给每个方法.

该API主要由使用Xamarin PCL的移动设备使用.

Web API必须使用SSL.

这似乎是一个简单的设置,但我的谷歌搜索没有透露任何超级有用的命中.

理想情况下,我想要一个Login控制器,它授权用户并允许后续的方法调用.

有人可以提供基本的例子或一些好的阅读材料吗?

c# asp.net asp.net-web-api

12
推荐指数
1
解决办法
2万
查看次数

Azure OpenID通过OWIN中间件连接,产生无限重定向循环

我使用OWIN Middleware在我的ASP.NET MVC应用程序中设置了OpenID Connect身份验证.

正如此Fiddler输出所示,一旦通过Azure OpenID Connect成功登录,浏览器就会不断在我的site.azurewebsites.net和login.windows.net之间来回循环.

提琴手循环

我确保以下密钥正确匹配Azure AD信息

<add key="ida:AADInstance" value="https://login.windows.net/{0}" />
<add key="ida:Tenant" value="******.onmicrosoft.com" />
<add key="ida:ClientId" value="*******" />
<add key="ida:PostLogoutRedirectUri" value="*********" />
Run Code Online (Sandbox Code Playgroud)

我的Start.cs代码如下

 private static string clientId = ConfigurationManager.AppSettings["ida:ClientId"];
    private static string aadInstance = ConfigurationManager.AppSettings["ida:AADInstance"];
    private static string tenant = ConfigurationManager.AppSettings["ida:Tenant"];
    private static string postLogoutRedirectUri = ConfigurationManager.AppSettings["ida:PostLogoutRedirectUri"];

    private string authority = String.Format(CultureInfo.InvariantCulture, aadInstance, tenant);

    IAuthorizationService authorizationService = new AuthorizationService();

    public void ConfigureAuth(IAppBuilder app)
    {
        app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

        app.UseCookieAuthentication(new CookieAuthenticationOptions()
        {

            ExpireTimeSpan =TimeSpan.FromMinutes(15)
        });

        app.UseOpenIdConnectAuthentication(
            new OpenIdConnectAuthenticationOptions
            {
                ClientId = …
Run Code Online (Sandbox Code Playgroud)

openid asp.net-mvc azure oauth-2.0 owin

10
推荐指数
1
解决办法
7474
查看次数

ASP.NET:重定向到https的最佳实践

我正在开发一个项目,其中有一个页面需要使用SSL证书.本网站中的所有链接都使用https而不是http,但是如果用户可以直接导航到页面,我希望页面的http版本重定向到自己,但使用https.

我可以在page_load事件中执行Response.Redirect.我可以编写将更新location.href的javascript,这将导致回发.我相信有更多的方法可以给这只猫皮肤.

我的问题是,IIS 6或7上的ASP.NET站点将http页面重定向到https的最佳做法是什么?是否有最佳实践或所有替代方案均等?

asp.net security iis ssl

8
推荐指数
1
解决办法
6092
查看次数

在ASP.Net中将重定向编码到SSL页面的最佳方法是什么

我一直在努力为ASP.Net应用程序重定向到SSL页面代码一段时间.我还没有找到一个好的解决方案.问题是,如果我在localhost上,我希望禁用代码,例如我在调试或编码时,但我无法使其工作.另一个问题是它必须重定向到另一个URL,因此http://www.xx.com应该重定向到https://Secure.xxx.com.有任何想法吗?

c# asp.net ssl redirect

2
推荐指数
1
解决办法
874
查看次数