You are not logged in.

  • Login

1

Sunday, February 22nd 2009, 12:22am

WCF/WBB-Bridge

Howdy allerseits,

ich würde gerne für eine Seite die ich gerade entwickle eine Art Bridge bauen,
dass heißt registriert sich der Benutzer auf der Hauptseite (> eigenes CMS/System)
soll der Benutzer auch im Forum (> WBB2Lite) registriert sein.
Gibt es dazu irgendeine API o.ä. um das zu realisieren?

2

Sunday, February 22nd 2009, 12:38pm

Hallo,
dazu gibt es eine fertige Lösung - zu sehen hier: http://community.woltlab.com/forum/suppo…in-logout-v1-0/

Ich habe eine Jabber Login Klasse geschrieben - die kannst du natürlich auch verwenden: http://trac.easy-coding.de/trac/wcf/browser/jabber/wcf-login
Wenn du nach diesem Verfahren arbeitest, wird jedoch kein Cookie gespeichert.
Je nach Coding Skills solltest du also vielleicht doch die erste Lösung nehmen.

3

Wednesday, February 25th 2009, 12:12am

In der "unsauberen"/alten Version meiner Website habe ich die Userdaten vom wbb3 genutzt. Der Code muss zwar komplett überarbeitet werden, aber man kann ihn dennoch nutzen.

PHP Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
	if (!defined('wBB')) define('wBB', '/var/www/board/');
	require_once (wBB.'global.php');
	if (!isset($_COOKIE['wcf_userID']))
	{
		if (isset($_POST['nick']))
			$username = secure($_POST['nick']);
		if (isset($_POST['pass']))
			$password = $_POST['pass'];
		$time = microtime();
		if (isset($username) && isset($password))
		{
			if (UserUtil::isValidUsername($username) == 1)
			{
				if (UserUtil::isAvailableUsername($username) != 1)
				{
					$inhalt .= '<h1>Login</h1><center>';
					mysql_select_db("board", $sql);
					$res = mysql_query("SELECT `userID` FROM `wcf1_user` WHERE `username`='$username'", $sql) or die(mysql_error());
					$row = mysql_fetch_object($res);
					$user = new User($row->userID);
					if ($user->checkPassword($password) == 1)
					{
						HeaderUtil::setCookie("userID", $user->userID, TIME_NOW + 365 * 24 * 3600);
						HeaderUtil::setCookie("password", StringUtil::getSaltedHash($password, $user->salt), TIME_NOW + 365 * 24 * 3600);
						$nick = $user->username;
						$uid = $user->userID;
						$inhalt .= 'Thank you for logging in, '.$nick.'.<br>';
						if (isset($_COOKIE['wcf_cookieHash']))
						{
							$session = $_COOKIE['wcf_cookieHash'];
							mysql_query("UPDATE `wcf1_session` SET `userID`='$uid', `username`='$nick' WHERE `sessionID`='$session'") or die(mysql_error());
						}
						$referer = "/";
					}
					else
					{
						$inhalt .= 'You\'ve entered a wrong password!<br>';
					}
					mysql_select_db($db_name, $sql);
				}
				else
				{
					$inhalt .= 'That Username isn\'t registered!<br>';
				}
			}
			else
			{
				$inhalt .= 'You\'ve entered an invalid Username!<br>';
			}
		}
?>

Similar threads

Social bookmarks