标签: authorization

Rails + CanCan:用户应该可以删除自己的照片,但不能

所以,我正在使用Rails 3和CanCan进行授权.我希望所有用户都能删除他们创建的照片,我想我已经正确设置了这个,但是它无法正常工作......

这是我的能力课:

class Ability
  include CanCan::Ability

  def initialize(user)

    # ONLY REGISTERED USERS CAN DO THESE THINGS
    unless user.nil?

      # ALL REGISTERED USERS CAN DO THESE THINGS
      can :read, [Photo, Context, Focus, LandUse, Vote, Rating, Comment, Profile, Article]
      can :show, Page

      # MEMBERS
      if user.has_role? :member
        can [:create, :read], Photo
        can [:update, :destroy], Photo, :user_id => user.id
        can :create, [Vote, Rating, Comment, Profile]
        can :update, [Vote, Rating, Comment, Profile], :user_id => user.id

        can [:show, :update], User do |u|
          u == …
Run Code Online (Sandbox Code Playgroud)

authorization ruby-on-rails cancan ruby-on-rails-3

2
推荐指数
1
解决办法
2382
查看次数

访问被拒绝尝试在服务器上创建文件夹

客户端注册系统的每个新项目都会创建一个文件夹来存储位于"\ Images\Projects {ProjectID}"中的图像,其中{ProjectID}是ID项目.

我在文件夹"\ Images\Projects \"中放入了一个web.config,允许访问登录的用户.

<configuration>
    <system.web>
        <authorization>
            <deny users="?" />
        </authorization>
    </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

创建文件夹时,将显示错误:

访问路径'e:\ home\amsdarquit\Web\Images\Projects\166'被拒绝.

166是项目代码和文件夹名称.我检查了我的服务器,但没有创建.

用于创建文件夹的代码

//Save Image
var serverPath = Server.MapPath(Href("~/Images/Projects/") + id);
Directory.CreateDirectory(serverPath);
imgOri.Save(Path.Combine(serverPath, fileName));
Run Code Online (Sandbox Code Playgroud)

我看过网站,但没有找到任何帮助我.

asp.net security authorization create-directory webmatrix

2
推荐指数
1
解决办法
1927
查看次数

Asp.Net MVC 3 - 保护站点时登录页面没有css布局

好的......我不明白.我刚刚在web.config中使用以下代码块保护了我的asp.net mvc 3应用程序(razor视图).

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

<authorization>
  <deny users="?"/>
</authorization>
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,Login页面不再具有正常的样式......它只是简单的HTML而没有任何css样机.那么我需要在web.config中"允许"什么?

authorization razor asp.net-mvc-3

2
推荐指数
1
解决办法
3744
查看次数

AuthorizeAttribute构造函数参数Roles等于string.empty的含义?

这是一些MCTS 70-515考试练习测试的问题.

请帮助正确的2个答案


您正在实现一个允许用户查看和编辑数据的ASP.NET MVC 2 Web应用程序.您需要确保只有登录用户才能访问控制器的"编辑"操作.您可以添加到"编辑"操作以实现此目标的两个可能属性是什么?

(每个正确答案都提供了完整的解决方案.选择两个.)

  1. [授权(用户="")]
  2. [授权(角色="")]
  3. [授权(用户="*")]
  4. [授权(角色="*")]

asp.net-mvc authorization

2
推荐指数
1
解决办法
2088
查看次数

你如何在android中为谷歌api交换OAuth2令牌的授权代码?

你如何在android中为谷歌api交换OAuth2令牌的授权代码?如果你去https://code.google.com/oauthplayground/你可以交换它们,但我需要能够在Android应用程序中做到这一点!有任何想法吗?

java android authorization oauth-2.0

2
推荐指数
1
解决办法
3586
查看次数

无法获取摘要身份验证以使用node.js

我正在尝试使用来自gathercontent.com的API,使用节点js进行简单的(!)摘要式身份验证.

一切似乎都在工作,除了我仍然得到一个"错误的凭据"响应,看起来像这样:

{ success: false, error: 'Wrong Credentials!' }
Run Code Online (Sandbox Code Playgroud)

代码如下所示:

var https = require('https'),
    qs = require('querystring');
apikey = "[my api key goes in here]",
    pwd = "[my password goes in here]",
    crypto = require('crypto');


module.exports.apiCall = function () {

    var options = {
        host:'abcdefg.gathercontent.com',
        port:443,
        path:'/api/0.1/get_pages_by_project/get_me',
        method:'POST',
        headers:{
            "Accept":"application/json",
            "Content-Type":"application/x-www-form-urlencoded"
        }
    };

    var req = https.request(options, function (res) {

        res.on('data', function (d) {
            var creds = JSON.parse(d);


            var parsedDigest = parseDigest(res.headers['www-authenticate']);
            console.log(parsedDigest);
            var authopts = {
                host:'furthercreative.gathercontent.com',
                port:443,
                path:'/api/0.1/get_pages_by_project/get_me', …
Run Code Online (Sandbox Code Playgroud)

authorization http node.js

2
推荐指数
1
解决办法
3858
查看次数

ASP.NET WebApi FormsAuthentication 401(未经授权)问题

我一直在学习ASP.Net WebApi中的授权是如何工作的,我在另一个帖子(ASP.NET Web API身份验证)中遇到了Darin Dimitrov的答案,我需要一些帮助来理解为什么我会得到401.

遵循Darin的代码,我创建了一个WebApi项目并添加了以下控制器和模型:

AccountController.cs

using System.Web.Http;
using System.Web.Security;
using AuthTest.Models;

namespace AuthTest.Controllers
{
    public class AccountController : ApiController
    {
        public bool Post(LogOnModel model)
        {
            if (model.Username == "john" && model.Password == "secret")
            {
                FormsAuthentication.SetAuthCookie(model.Username, false);
                return true;
            }

            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

UsersController.cs

using System.Web.Http;

namespace AuthTest.Controllers
{
    [Authorize]
    public class UsersController : ApiController
    {
        public string Get()
        {
            return "This is top secret material that only authorized users can see";
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# authorization asp.net-authorization asp.net-web-api

2
推荐指数
1
解决办法
7199
查看次数

如何根据用户登录隐藏某些功能?

我们想根据Tomcat中的用户登录隐藏一些代码功能.我们正在使用基本身份验证.有什么建议?

java security jsp authorization servlets

2
推荐指数
1
解决办法
5683
查看次数

使用FOSUserBundle自动登录Symfony2

我在我的Symfony2应用程序中创建了一个单独的注册机制(使用FOSUserBundle),除了常规注册之外,它还存在.

有没有办法 - 在我创建并持久化用户到数据库之后 - 自动登录当前用户.之后,用户将被重定向到需要登录用户的页面(由于自动登录,用户可以访问该页面)?

这基本上是我创建用户的方法:

public function signupAction(Request $request) {
    $user = new User();

    $form = $this->createFormBuilder($user)
                ->...()
                ->getForm();

    $form->handleRequest($request);

    if ($form->isValid()) {
        // Enable User
        $user->setEnabled(true);

        // Persist to DB
        $em->persist($user);
        $em->flush();

        // Here I need the auto-login before redirecting to _root

        return $this->redirect($this->generateUrl('_root'));
    }

    return $this->render('MyBundle:MyController:signup.html.twig', array(
        'form' => $form->createView()
    ));
}
Run Code Online (Sandbox Code Playgroud)

authentication authorization symfony fosuserbundle

2
推荐指数
1
解决办法
3878
查看次数

ASP.NET Core 2没有配置身份验证处理程序来处理该方案

我想在ASP.NET Core 2应用程序中提供授权.在账户/登录中发送带有数据的模型后,在调用之后await Authenticate(user),我收到一条错误消息.我无法理解哪里缺乏描述.

Startup.cs

//ConfigureServices
services.AddAuthentication(options =>
{
    options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
}).AddCookie("TmiginScheme", options =>
{
    options.LoginPath = "/Account/Login";
    options.LogoutPath = "/Account/Logout";
    options.ExpireTimeSpan = TimeSpan.FromHours(1);
    options.SlidingExpiration = true;
});

//Configure
app.UseAuthentication();
Run Code Online (Sandbox Code Playgroud)

的AccountController

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Login(LoginModel model)
{
    if (ModelState.IsValid)
    {
        User user = null;
        Cryptex cryptex = new Cryptex();
        string password = cryptex.EncryptText(model.Password, "TMigin");

        // ???? user
        user = fStorage.Users.GetUserByLogin(model.Login);
        if (user != null)
        {
            if (string.Compare(user.Password, password) != …
Run Code Online (Sandbox Code Playgroud)

c# asp.net authorization asp.net-core

2
推荐指数
2
解决办法
6308
查看次数