What is the best practice when it comes to initializing the very first application level user in the system? is it by setting the username (like super admin) and asking for the password for the first time?
Is it ok to set a static username / password, which can optionally be changed later?
Or put the password for the super admin as a configuration (DB or config file) (hashed indeed)?
I have checked this: https://stackoverflow.com/questions/33566691/adding-first-user-in-system-best-practice
I am not sure if it covers SaaS as well!
答案 0 :(得分:0)
我不确定它是否也涵盖了SaaS!
如果您的问题与SaaS有关,那么在您链接的答案中,您可能会有回应:
注册该服务的人将成为默认管理员。许多基于SaaS的应用程序。
如果这是软件即服务,有人协商合同,而有人支付账单。当您为新客户端设置SaaS解决方案时,请他填写一份表格,提及应该收到管理员用户名和密码的人员的电子邮件。根据他们的组织,管理层,业务人员,IT人员可以是那个人。
然后,您的应用程序会在数据库中生成一个用户(可以是管理员或随机名称),并使用您发送到指定电子邮件的安全密码(为此,您可以在线搜索最佳实践和工具)。您进行了设置,以便当客户端使用您提供的用户名和密码登录时,他被迫更改它(即仅对一次登录有效)。
理想情况下,您生成的用户名和密码应仅在一段时间内有效。在同一个注册表单上,您还可以请求您拥有的组织的公共IP作为客户端,并且只允许管理员用户从该IP到达时使用。
如果您愿意,我相信您也可以找到其他解决方案。试着让它们安全。