OpenAuth.Net/OpenAuth.App/SSO/SSOController.cs
小色 ffb40b28c1 拿掉地址栏Token,因为特别不安全。
小王,xxx系统的地址是多少。。。然后账号就泄露了

缺点是Token不能跨域。

OpenAuth.WebApi\Web.config
修改一个provider标签MySql.Data.MySqlClient
使用vs自带功能整理了一下格式。
2017-12-24 17:55:02 +08:00

65 lines
2.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : Administrator
// Created : 09-22-2015
//
// Last Modified By : Administrator
// Last Modified On : 09-22-2015
// ***********************************************************************
// <copyright file="BaseController.cs" company="">
// Copyright (c) . All rights reserved.
// </copyright>
// <summary>
// 基础控制器
// 继承该控制器可以防止未登录查看
// 继承该控制器后如果想访问控制器中存在但模块配置里面没有的ActionHome/Git请使用AnonymousAttribute
// </summary>
// ***********************************************************************
using System;
using System.Web;
using System.Web.Mvc;
namespace OpenAuth.App.SSO
{
public class SSOController : Controller
{
public const string Token = "Token";
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
var token = "";
//Token by QueryString
var request = filterContext.HttpContext.Request;
if (request.Cookies[Token] != null) //从Cookie读取Token
{
token = request.Cookies[Token].Value;
}
if (string.IsNullOrEmpty(token))
{
//直接登录
filterContext.Result = LoginResult("");
return;
}
else
{
//验证
if (AuthUtil.CheckLogin(token, request.RawUrl) == false)
{
//会话丢失,跳转到登录页面
filterContext.Result = LoginResult("");
return;
}
}
base.OnActionExecuting(filterContext);
}
public virtual ActionResult LoginResult(string username)
{
return new RedirectResult("/Login/Index");
}
}
}