关于启明星系统(OA系统,预定系统,请假系统等)安全性的说明

启明星系统推荐是安装在内网里,因此,系统采用了较为简单的身份验证。

事实上,在访问页面时,系统会判断当前cookie的uid是否大于0,如果是,则表示用户已经登录,否则表示未登录。

    public static int GetUserId
        {          get
             {
              return (HttpContext.Current.Request.Cookies["userinfo"] == null) ? -1 : int.Parse(HttpContext.Current.Request.Cookies["userinfo"]["userid"]);
            }
        }

然后在母版master页面判断UserId是否大于0:

if (UserHelper.GetUserId > 0)
            {
               //已经登录
            }
            else
            {
                 Response.Redirect("login.aspx");
            }

对于内网来说,基本上安全性可以满足,但是对于放到公网的用户,就需要考虑攻击者可以很容易伪造cookie来绕过身份验证。

对于放到公网上的用户,请打开web.config里,增加如下红色配置。

将强制系统采用ASP.NET 系统内置的身份验证。

  <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>
    </system.web>

-------------------------------------以上----------------------------------------------------------------------------------------------------------

对于放到公网上的用户,上面基本上能给很好的满足系统的安全性。不过可能希望系统自动记住用户登录名和密码。其实在我们的登录代码里

   HttpContext.Current.Response.Cookies[FormsAuthentication.FormsCookieName].Path = path;
                HttpContext.Current.Response.Cookies[FormsAuthentication.FormsCookieName].Expires = DateTime.Now.AddDays(7);

可是你会发现,当增加了 <deny users="?" /> 后,系统似乎记不住cookie,基本上每次访问还是需要登录。

这是因为ASP.NET会在系统运行时,会自动生成随机的计算机密钥。

您可以通过如下方法,来强制ASP.NET使用唯一密钥。

打开IIS。左边选择你的应用程序。然后在右边找到计算机密钥

从图中可以看到,在应用程序每次运行时,系统都随机生成一个计算机密钥。

单击右边的“生成密钥”

单击应用

此时,系统会自动在web.config增加machieKey密钥。这样,使用Form身份验证,就可以记住您的账户了。

时间: 2024-10-09 10:31:43

关于启明星系统(OA系统,预定系统,请假系统等)安全性的说明的相关文章

启明星请假系统里,计算工作日的实现

启明星新版增加系统,增加了请假时长的自动计算.本文讨论请假系统算法的实现.(如果您有好的算法,欢迎和我联系.) 在请假前,我们假定,公司的工作时间是 上午:8:00--12:00 下午13:00--17:00. 中间一个小时是午饭时间. (1)首先考虑当天请假情况,例如今天是2014-6-25日. 假设用户请假是从  2014-6-25 9:00:00 到 2014-6-25 16:00:00 那么,如果人工算的话,应该是分为两端: (a)计算 9:00--12:00的时段(3个小时) (b)计

基于JSP的学生请假系统开发视频教程

课程介绍 : 课程来源于:学途无忧网 课程讲师:大华老师 课程介绍地址:http://www.xuetuwuyou.com/course/11 课程下载地址:链接: http://pan.baidu.com/s/1nth9PJ7 密码: xpw6 一.课程使用到的软件:Myeclipse10.Oracle11g.PL/SQL developer7.11 二.涉及技术或理论: 1.java面向对象.面向接口程序设计 2.观察者模式.策略模式.责任链模式等经典设计模式 3.数据库设计理论(三大数据模

通达OA 打通工作流与其他系统数据关联,系统整合新思路

这几天做的一个开发案例时,对工作流的扩展整合能力又有了新的认识,工作流除了进行日常审批之外,通过一定的二次开发还可以达到与其他软件系统对接的效果. 在企业应用里,很多情况是这样的:单位先上了OA系统,在这里已经开展了工作流的应用,并且把很多的流程审批都做到了OA里面,并且大家也形成了使用OA工作流进行审批的习惯:如果这时再上其他的软件系统,里面再有一套审批流程的话,应用推广起来难度可想而知.这时如果想顺利推动软件的应用,最好的办法就是不改变原有审批流程,而是将审批结果回传到应用系统中,这里就涉及

php开发搭建OA信用盘幸运飞艇系统源码网站常见问题总结

PHP 是一种易于学习和使用的服务器端脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域.PHP 独特的语法混合了C.Java.Perl以及PHP自创的语法.它可以比CGI或者Perl更快速地执行动态网页.用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多:PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快. 现

.NET Core微服务 权限系统+工作流(二)工作流系统

一.前言 接上一篇 .NET Core微服务 权限系统+工作流(一)权限系统 ,再来一发 工作流,我在接触这块开发的时候一直好奇它的实现方式,翻看各种工作流引擎代码,探究其实现方式,个人总结出来一个核心要点: 实际上工作流引擎处理流转的核心要义是如何解析流转XML或者JSON或者其它持久化方式,工作流通过解析XML或者JSON判断当前节点的状态和下个节点的信息并做出一些处理.感觉等于没说?直白一点,就是通过解析JSON文件得到下一步是谁处理. 工作流的流转线路实际上是固定死的,排列组合即可知道所

linux系统运行级别改变时,系统所做的工作

# 其实计算机的关闭也就是运行级别的切换: # init进程监控运行级别是否改变. # 如果运行级别改变了,init进程就会触发 /etc/rc.d/rc 脚本运行. # rc 脚本作用是: #    1.如果当前计算机运行有,在当前运行级别 #   (correctrunlevel )/etc/rc.d/rc$runlevel.d/目录下以K开头的服务.就关闭. #     2.开启当前运行级别(correct runlevel )/etc/rc.d/rc$runlevel.d/目录下#   

ubuntu系统备份与恢复(也适用于其他linux系统)

在windows环境下面,有很多的备份恢复软件,系统也自带了备份恢复功能,比较知名的软件比如ghost等,为什么要备份系统,我之前一直都是系统出现问题就全新安装原版的windows,然后各种设置,各种软件都要重新弄,很是麻烦,所以网上也出现了很多ghost系统,这类系统里面一般包含了万能驱动助理,这样系统在安装的时候就会自动检测你电脑的硬件并且安装相应的驱动,这类系统也通常会包含很多常用软件,优点是很多设置都优化了,很多常用软件也都安装了,方便用户使用,驱动也能自动安装,不过缺点是满足不了所有人

Linux系统入门之如何安装Linux系统

题目:Linux系统入门之如何安装Linux系统 一.准备工具: 1.Linux 镜像文件(Linux iso文件),直接的在 百度里面输入下载Linux系统版本即可 例如: 2.虚拟机模拟工具,例如:Vmare workstation 10 或者virtualbox虚拟机工具 抑或者vmware palyer虚拟机工具 3.笔记本的硬件要求,一般现在的笔记本几乎都是满足要求的,这个放心 内存至少2G,硬盘大小至少100G,其它的没有什么 二.简单的描述虚拟机的安装(重要点截图) 三.简单的描述

android 调用系统相机获取图片、调用系统相册获取图片,并对图片进行截取

打开系统相册获取图片并截取,代码相对简单 1 Intent intent = new Intent(Intent.ACTION_GET_CONTENT,null); 2 intent.setType("image/*"); 3 intent.putExtra("crop", "true"); 4 5 //WIDTH 和 HEIGHT指的是截取框的宽高比例,如设WIDTH = 1,HEIGHT = 1,截取框就为正方形 6 intent.putEx

crm系统是什么意思丨crm系统有哪些-行业标杆上海赞同ME-CRM系统软件

[crm系统是什么意思丨crm系统有哪些]上海赞同ME-CRM系统是一个多功能,可个性化定制的移动云crm系统软件.现在,crm系统软件的开发,不断翻陈出现以满足企业的需求.但是,对于不少人来讲,还并未接触过crm系统,连crm系统是什么意思都不知道,更别提crm系统有哪些了.接下来,我们就来看下crm系统是什么意思,crm系统有哪些. [crm系统是什么意思丨crm系统有哪些]行业标杆上海赞同ME-CRM系统的案例 随着"互联网+"的不断发展,上海东方明珠也对今后的工作进行了整体规划