我正在写一个小网站.有基于PHP会话的授权.如果用户无法访问某个页面,我应该发送什么HTTP响应代码?
是412 Precondition Failed个好主意?我认为401 Unauthorized只有http授权才有用.400 Bad Request并且403 Forbidden看起来太普通.
我需要使用自定义授权机制.它非常简单,使用数据库,其中存储会话等内容,并根据cookie激活它.没什么特别的.控制每一方权限的最佳方法是什么?当然,如果用户登录,我可以在每个站点上检查加载事件但是还有其他方法吗?
我目前正在开发一个基于Web的邮件服务(它不是一个邮件客户端,但需要解释很多).但是在此之前我从未使用oauth,但它似乎是要走的路,我已经将我的简单类基于sampel代码.但是,示例代码几次没有提供签名解决方案,或者我错过了它.
所以基本上我的问题是,每当我登录时,我需要再次授权gmail,而我已经看到其他服务你曾经这样做过,之后你只需登录并立即重新定向,而不再接受.
编辑:为了澄清,我正在使用oauth登录和IMAP,这是愚蠢的吗?我认为这是最好的方式,因为当我的所有应用程序真正做到的都是通过oauth围绕谷歌应用程序imap时,将OpenID和oauth连接到同一用户似乎很奇怪.我认为tungle.me以这种方式工作,因为我只需要在那里进行授权,下次谷歌立即重定向我,我希望我的应用程序以这种方式工作.
编辑2:进一步搜索后似乎授权是第一次然后我应该使用身份验证,因为英语不是我的第一语言我虽然他们的意思相同.所以问题就在于,当已经创建帐户的用户再次登录时,如何通过谷歌进行身份验证,这样我就不需要每次都生成新的令牌.
在我的 asp.net Web 应用程序中,是否可以在文件夹上设置 Windows 身份验证并允许我的站点的其余部分无需身份验证即可访问?这可以通过应用程序的 web.config 设置吗?如果可以,如何设置?
我正在实施像Stackoverflow这样的投票系统.我怎样才能实现这一点,这是黑客证明?
我有一些PHP根据javascript解析后发送的ajax请求进行数据库工作.是否会进行查询以检查用户的当前投票状态是否足以避免未经授权的投票?
我使用jquery-ajax方法POST来发布授权标头,但Firebug显示错误"401 Unauthorized"标头作为方法的参数.
我究竟做错了什么?我该怎么办?
jQuery(function(dat) {
dat.ajax({
type: "POST",
url: url,
data: {
Latlng: 'coordinates.coordinates',
texts: 'text'
},
success: function(dat) {
setMarkers(dat);
},
dataType: "json"
});
});
Run Code Online (Sandbox Code Playgroud)
这是我忘记的oAuth方法(我不认为这是错误的,因为我在例子中做了它.)
var url ="https://stream.twitter.com/1/statuses/filter.json"; var accessor = {token:"token",tokenSecret:"token_secret",consumerKey:"consumer_key",consumerSecret:"consumer_secret"};
Run Code Online (Sandbox Code Playgroud)var message = { action: url, method: "POST", parameters: { track: 'nutella', locations: '-180,-90,180,90' } };OAuth.completeRequest(消息,访问者);
OAuth.SignatureMethod.sign(message,accessor); url = url +'?' + OAuth.formEncode(message.parameters);
我关闭了秘密数据.
我有一个Ruby on Rails应用程序users,articles和collaborations.以下是关系:
User has_many :articles
User has_many :collaborations
Article belongs_to :users
Article has_many :collaborations
# Collaboration has collaboration.id collaboration.user_id and collaboration.article_id.
Collaboration belongs_to :users
Collaboration belongs_to :articles
Run Code Online (Sandbox Code Playgroud)
通过协作,我成功地能够访问用户和文章,所以我认为一切都在我的应用程序中正确设置.好的问题.
我正在使用CanCan的角色:admin.基本上我只希望:admin能够创建帖子和协作,我也能正常工作.问题是......如何将该角色写入我的ability.rb文件,以便非管理员用户仍然可以在他们参与协作的文章上进行协作?"
我应该怎么写,在ability.rb.这就像我想说的那样:"不是管理员的用户可以管理文章,因为他们是该文章合作的一部分."
对不起,因为很啰嗦,还没喝咖啡:) 这是我的ability.rb.
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user
if user.role == "admin"
can :manage, :all
else
can :read, Article
# this …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用apache mina sshd设置ssh服务器.我想使用公钥认证,基本上我想知道如何实现
package org.apache.sshd.server;
import java.security.PublicKey;
import org.apache.sshd.server.session.ServerSession;
public interface PublickeyAuthenticator {
boolean authenticate(String username, PublicKey key, ServerSession session);
}
Run Code Online (Sandbox Code Playgroud)
我看到传递的是另一个公钥.所以我假设您应该将param中给出的公钥与服务器所具有的公钥进行比较.但我不知道该怎么做.
我发现的一件事是这个实现.这似乎毫无意义,因为它似乎比较了公钥的模数与自身.假设这个实现有一个bug,并且应该比较每个公钥的模数,这是否足以进行身份验证 - 模数是否一致?当然,如果我只是将公开的公钥提供给此功能,那么我会得到身份验证吗?
我正在按照本教程讲解如何授权和从Web-api服务器获取承载令牌。通过fiddler在那里执行的任务非常简单,但是,当我尝试从控制台应用程序执行相同操作时,请求失败,并显示400 Bad Request Error。这是向服务器发出请求的代码:
var request = WebRequest.Create("http://localhost:12698/token") as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.CookieContainer = new CookieContainer();
var authCredentials = "userName=" + user + "&password=" + password;
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(authCredentials);
request.ContentLength = bytes.Length;
using (var requestStream = request.GetRequestStream()){
requestStream.Write(bytes, 0, bytes.Length);
}
using (var response = request.GetResponse() as HttpWebResponse){
authCookie = response.Cookies["access_token"];
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我确定我在做什么错吗?还是我应该使用其他方法来获取身份验证令牌?
我有一个控制器,其中包含一些在许多内部项目中使用的实用程序方法。到目前为止,我一直在每个项目中复制源文件。现在,我想为此控制器创建一个NuGet包,以在内部存储库中使用。
问题出在这个控制器的授权上。我不想[Authorize()]在控制器类(或其动作)上放置特定的属性,因为授权应由使用该软件包的开发人员选择:在某些项目中,控制器可以被所有人使用,在某些项目中,可以使用只有经过身份验证的用户才能使用,其他用户则可以与自定义策略一起使用。
关于如何达到目的有什么想法?
authorization ×10
c# ×2
php ×2
.net ×1
ajax ×1
asp.net ×1
asp.net-core ×1
asp.net-mvc ×1
cancan ×1
http ×1
java ×1
jquery ×1
membership ×1
mina ×1
oauth ×1
post ×1
public-key ×1
ruby ×1
security ×1
sshd ×1
web-config ×1
windows ×1