小编her*_*n43的帖子

设计忽略自定义策略

这简直太奇怪了.

我安装了Devise,运行Rails 3 RC .我已经定义了一个自定义策略来尝试使用Kerberos进行身份验证.

module Devise
  module Strategies
    class Kerb < Devise::Strategies::Base
      def valid?
        params[:username] || params[:password]
      end

      def authenticate!
        # cheap debugging
        puts "PARAMS: #{params}"

        if check_kerb_auth(params[:username], params[:password])
          # create user account if none exists
          u = User.find(:first, :conditions => { :username => params[:username] }) || User.create({ :username => login })
          success!(u)
        else
          fail!("Could not log in")
        end
      end

      def check_kerb_auth(username, password)
        require 'krb5_auth'
        include Krb5Auth

        return false if username.blank? or password.blank?

        begin
            kerberos = Krb5.new …
Run Code Online (Sandbox Code Playgroud)

kerberos ruby-on-rails devise

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

WebSocket在发送时关闭

所以我看到这个伟大的博客文章,用Node.js的进行实验.我决定尝试使用作者的要点自己设置它.它没用.

进一步调试显示websocket连接正常,但是一旦调用'send'就关闭.这是wireshark跟踪(原谅奇怪的间距):

GET /test HTTP/1.1

Host: 127.0.0.1:8000

Sec-WebSocket-Key2: 3   j 92 9   62" 7 0 8 8

Upgrade: WebSocket

Connection: Upgrade

Origin: http://127.0.0.1:3000

Sec-WebSocket-Key1: 96'5% S72.93?06



......(bHTTP/1.1 101 WebSocket Protocol Handshake

Upgrade: WebSocket

Connection: Upgrade

Sec-WebSocket-Origin: http://127.0.0.1:3000

Sec-WebSocket-Location: ws://127.0.0.1:8000/test



.4.R....mh.....{.{"action":"move","x":450,"y":22,"w":1146,"h":551}.
Run Code Online (Sandbox Code Playgroud)

我在Chrome和Firefox 4.0测试版中都尝试过这种方法.它们都表现出相同的行为.如果我去原始博客网站,它工作正常.

另一件事.如果我在FF或Chrome中进入JS控制台,我会执行以下操作:

ws = new WebSocket('ws://localhost:8000/test')
ws.send("foo")
Run Code Online (Sandbox Code Playgroud)

它立即断开连接并且不发送消息.服务器显示连接和握手,但从不接收消息.

我在这里发现了几个类似的问题,但要么在没有发布修复的情况下解决,要么在这种情况下似乎不适用.我可以发布gist中的代码,如果它更容易.

javascript html5 websocket node.js

6
推荐指数
1
解决办法
6216
查看次数

Go编译器说“已声明但未使用”,但它们正在被使用

我有以下函数给我“声明变量但未使用”错误:

type Comparison struct {
        Left []byte
        Right []byte
        Name string
}

func img(w http.ResponseWriter, r *http.Request, c appengine.Context, u *user.User) {
  key := datastore.NewKey("Comparison", r.FormValue("id"), 0, nil)
  side := r.FormValue("side")
  comparison := new(Comparison)
  err := datastore.Get(c, key, comparison)
  check(err)

  if( side == "left"){
    m, _, err := image.Decode(bytes.NewBuffer(comparison.Left))
  } else {
    m, _, err := image.Decode(bytes.NewBuffer(comparison.Right))
  }
  check(err)

  w.Header().Set("Content-type", "image/jpeg")
  jpeg.Encode(w, m, nil)
}
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误:

dpcompare.go:171: m declared and not used
dpcompare.go:171: err declared and not used
dpcompare.go:173: m …
Run Code Online (Sandbox Code Playgroud)

compiler-errors go

3
推荐指数
1
解决办法
7331
查看次数