用户登陆管理


#!/usr/bin/env python
#coding:utf-8

‘‘‘
Program:
    User login, three chances after the wrong
    There have some manages for user logon
History:
2017.03.29      liuting      First release
‘‘‘

import getpass
import os
from datetime import datetime

f=open("login_time.txt","r")
login_time = f.read()

dic = {"student":"student","root":"westos","lt":"zq"}
dic_time = {"username":"login_time"}
username = raw_input("Please input the username:")

login_time_now = datetime.now()
a = datetime.strptime(str(login_time_now),"%Y-%m-%d %H:%M:%S.%f")
b = datetime.strptime(str(login_time),"%Y-%m-%d %H:%M:%S.%f")
x = (a-b).seconds

if dic.has_key(username) == False:
    print "The user not exist!"
elif x <= 14400:
    print "You already logged in at:%s\n" %(login_time)
else:
    for i in range(0,3):
        password = getpass.getpass("Please input the password:")
        if  password == dic.get(username):
            print "Login success!"
            print "Last login time: %s" %(str(login_time))
            f=open("login_time.txt","w")
            f.write(datetime.now())
            f.close()
            break
        elif i == 2:
            print "Sorry,Please login again."
        else:
            print "Password error,try again."
            print "%d time(s) for input" %(2-i)
while username == "root":
    operation = raw_input(" D(delete user)\n S(show usermessage)\n A(add user)\n L(list existing user)\n q(quit)\n What operation do you want:\n")
    if operation == "D":
        name = raw_input("Please input the username youwant to delete:")
        if dic.has_key(name) == True:
            dic.pop(name)
            print "Delete success!"
        else:
            print "The user not exist!"
    elif operation == "S":
        name = raw_input("Please input the username you want to see:")
        print "password:%s\n login_time:%s\n **************************" %(dic.get(name,"The user not exist"),dic_time.get(name))
    elif operation == "A":
        name = raw_input("Please input the username you want to add:")
        for i in range(0,3):
            passwd_first = getpass.getpass("Please input a password:")
            passwd_second = getpass.getpass("Please input the password again:")
            if passwd_first == passwd_second:
                dic[name] = passwd_first
                print "Useradd success!\n **************************"
                break
            elif i == 2:
                print "Please useradd again.\n \n"
            else:
                print "Password input different,try again!\n %d times for you!\n \n" %(2 - i)
    elif operation == "L":
        print "Existing user:\n %s\n **************************" %(dic.keys())
    elif operation == "q":
        break
    else:
        print "Unknown operation!\n \n"
时间: 2024-10-29 19:08:19

用户登陆管理的相关文章

系统进程管理及用户登陆监控

1.图形中如何查看进程gnome-system-monitor2.如何用命令查看进程ps        进程查看工具             -a    shell中运行的进程             -x    不在shell重运行的进程         -u    查看进程用户             -l    显示进程的详细信息             -f    完全信息full的缩写             -e    显示进程的依赖关系                  -o %c

在Linux系统中文件(资源)和用户的管理

一个可执行二进制程序,被加载到内存,被内核调度到CPU上运行,这时候,就表现了一个进程.也可以说进程是程序的一个实例,是程序的动态表现. 在 Linux 系统中进程(process)是有属主的,也就是该进程以哪个用户的身份运行的.大家都知道,程序有输入和输出,也称这为程序IO.如果我们程序数据输入是磁盘.如,Web 服务器,接收用户的请求之后,把网页数据从磁盘中读入加工之后再把数据响应给用户.如果,发起Web 服务进程的用户没有读取该用户请求网页文件的权限.则无法响应用户的请求了.所以,文件(资

实现业务系统中的用户权限管理--实现篇

在设计篇中,我们已经为大家阐述了有关权限管理系统的数据库设计,在本篇中,我们将重点放在其实现代码部分.为了让你能够更直接更有效的看到全部动作的代码,我们使用"动作分解列表"的方式来陈述每个动作以及相关资源. 实现权限管理功能的动作 动作分解 动作名 相关表名 操作集类型 (S,U,I,D,SQL) 表单 模组 字符资源 是否分页? 返回提示? 权限检测 权限初始化安装 setup 无 无 无 setup setupok 否 否 否 显示添加管理组界面 addnewgroup 无 无 a

后台实现显示欢迎用户登陆的方法

最近在做后台管理时,要实现欢迎用户登陆的功能,现在跟大家分享下,难度不大,就是跟大家交流一下,也算是对自己的总结.比如我们在网站的后台经常会看到欢迎某某登陆,如下图: 那么我们怎么实现这个功能呢,方法有很多,我只是说我用到的那种方法,因为我们登陆会用到session和cookies,所有我用的方法思路: 一.首先说明,当用户登陆时,我们会将用户的信息存储到session,至于为什么要存储到session,主要是为了做验证判断和取值方便, 二.写一个类存储用户的信息,判断session是否为空,不

Yii 用户登陆机制

Yii 生成应用时已经提供了最基础的用户登陆机制.我们用 Yii 生成一个新的应用,进入 protected/components 目录,我们可以看到 UserIdentity.php 文件,里面的 UserIdentity 类里面只有一个 public 函数如下: public function authenticate() { $users=array( // username => password 'demo'=>'demo', 'admin'=>'admin', ); if(!

【转载】SQL Server 2005数据库用户权限管理的设置

SQL Server 2005数据库中,我们可以设置每个用户对应的权限,以提高数据库的安全性.这类用户权限设置的应用非常广泛.比如设置某个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限等等.其实这一设置过程是很简单的,接下来就让我们来一起学习吧. 一.操作步骤 1. 首先进入数据库级别的[安全性]-[登录名]-[新建登录名] (图1:新建登录名) 2. 在[常规]选项卡中,如下图所示,创建登陆名,并设置默认的数据库. (图2:设置选项) 3. 在[用户映射]

Flask中如何实现用户登陆认证?

本文和大家分享的主要是使用Flask实现用户登陆认证的相关知识,希望对大家学习Flask有所帮助. 用户认证的原理 在了解使用Flask来实现用户认证之前,我们首先要明白用户认证的原理.假设现在我们要自己去实现用户认证,需要做哪些事情呢? 1. 首先,用户要能够输入用户名和密码,所以需要网页和表单,用以实现用户输入和提交的过程. 2. 用户提交了用户名和密码,我们就需要比对用户名,密码是否正确,而要想比对,首先我们的系统中就要有存储用户名,密码的地方,大多数后台系统会通过数据库来存储,但是实际上

Oracle 用户权限管理方法

Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二.登陆 sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 

Mysql用户&权限管理

1.创建用户(相关表mysql.user) localhost root 本机 127.0.0.1  root 本机 ::1 root 本机 % cheng 远程用户(任意ip) 192.168.1.55 jake 远程用户(指定ip) 1).创建本地用户(只能在本机登陆本机数据库) create user 'cheng'@'localhost' identified by '123456';指定密码"123456". insert into mysql.user(Host,User,