27、应用程序安全测试:用户、角色与访问控制

应用程序安全测试:用户、角色与访问控制

1. 添加用户和角色测试

在安装了 Devise 之后,我们可以通过测试来发现应用程序中的安全问题,其中最基础的安全问题就是用户登录。由于应用涉及特定的私有项目,只有登录用户才能访问,这是可测试的逻辑。

下面是一个针对项目索引页面的集成测试示例:

# security/01/spec/system/user_and_role_spec.rb
require "rails_helper"

RSpec.describe "with users and roles" do
  def log_in_as(user)
    visit new_user_session_path
    fill_in("user_email", with: user.email)
    fill_in("user_password", with: user.password)
    click_button("Log in")
  end

  let(:user) { User.create(email: "test@example.com", password: "password") }

  it "allows a logged-in user to view the project index page" do
    log_in_as(user)
    visit(projects_path)
    expect(current_path).to eq(projects_path)
  end

  it "does not allow a user to see the pro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值